1. vim编辑器的作用
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
等同于windows系统中的记事本。
PS:如果最小化安装Linux的话,只会安装vi,不会安装vim。
2. vim的五种模式
①可视模式
②替换模式
③命令模式
④插入模式
⑤末行模式
模式间的转换:
当我们刚启动vi/vim时,就默认进入了命令模式。
在命令模式按a、i、o等键,就进入了输入模式;
在命令模式按V键,就进入了可视模式;
在命令模式按R键,就进入了替换模式;
在命令模式按英文冒号键,就进入了末行模式。
注意:五种模式间的切换,只能通过命令模式作为中转!
2.1 命令模式中的基本操作
2.1.1 删除
x或Del 删除光标所在处的单个字符
dd 删除当前光标所在行
ndd 删除从光标开始处的n行内容
d^ 删除当前光标之前到行首的所有字符
d$ 删除当前光标处到行尾的所有字符
2.1.2 复制
yy 复制当前行整行的内容到剪贴板
nyy 复制从光标处开始的n行内容
2.1.3 粘贴
p 将缓冲区中的内容粘贴到光标位置处之后
P 粘贴到光标位置处之前
2.1.4 退出
ZZ(大写) 在命令模式下使用,退出并且保存。
2.1.5 光标跳转
行内快速跳转:
home或0 跳到行首
end或$ 跳到行末
翻页:
page up或ctrl+B 往前翻页
page down或ctrl+F 往后翻页
行间快速跳转:
nG 跳到文件中的第n行
G 跳到文件的末尾行
1G或者gg 跳转到文件的首行
ctrl+r 恢复
u 撤销(undo)
2.2 输入模式
i:当前位置插入内容;
a:光标后退一格进入插入模式;
o:在光标所在行下,新起一行并进入插入模式。
2.3 末行模式常用
:help tutor 或者 :help tutor@cn 命令 Vim官方帮助文档
:q 如果未对文件做改动则退出
:q! 强制放弃保存并退出
:wq 保存当前文件并退出
:x 保存当前文件并退出
:wq! 强制保存当前文件并退出
:x! 强制保存当前文件并退出
:w 保存
:w 路径 ---(另存为)
:X(大写) 加密码
:set number 显示行号
:set nonu 取消行号
:50 跳到第50行
:syntax enable 开启语法颜色显示效果
:syntax off 关闭语法颜色显示效果
:set hlsearch 开启查找文字的高亮效果 (high light)
:set nohlsearch 关闭查找文字的高亮效果
:set cursorline 显示下划线的效果(光标所在行)
:set cursorcolumn 显示光标所在的列
2.4 可视模式(相当于windows的按住鼠标左键拖动)
命令模式下如何进入可视模式
按v----可视模式
按V----可视行模式
ctrl+v 可视块模式
选中后,按y是复制,按p粘贴,x是删除。
另起一行,按o(进入插入模式并将光标移到下一行),再按esc(回到命令模式),在p(粘贴)。
2.5 替换模式
在命令模式下,按R(大写)键,进入替换模式。
此时输入的字符就会直接替换光标所在的字符。
3. vim 窗口切割
3.1 水平窗口分割
:split(开启另一个窗口察看同一文件)
:split 文件名(开启另一个窗口察看指定文件)
:30split 打开一个高度为30的窗口
3.2 垂直窗口分割
:vsplit(开启另一个窗口察看同一文件)
:vsplit 文件名(开启另一个窗口察看指定文件)
:30split 打开一个宽度为30的窗口
3.3 同时打开多个文件
vim -o file1 file2 file3 o是水平打开多个窗口,O垂直打开多个窗口
:n 跳至下一个文件,也可以直接指定要跳的文件,如:n c,可以直接跳到c文件
:e 回到刚才编辑的文件
3.4 在窗口之间进行切换:
ctrl+w,w:按住ctrl键,同时按下两次w键,从一个窗口切换到另一个窗口
ctrl+w,l(或右箭头)切换到右侧窗口
ctrl+w,h(或左箭头)切换到左侧窗口
ctrl+w,k(或上箭头)切换到上方窗口
ctrl+w,j(或下箭头)切换到下方窗口
3.5 在窗口移动
ctrl+w,L 将当前窗口移动到右侧窗口
ctrl+w,H 将当前窗口移动到左侧窗口
ctrl+w,K 将当前窗口移动到上方窗口
ctrl+w,J 将当前窗口移动到下方窗口
3.6 改变窗口大小
ctrl+w,+/-:按住ctrl键,同时按下w键,然后再按下+(增大窗口)或-(减少窗口)(这时不按下ctrl键)。
{height}CTRL-W, +/- 增加或减小窗口高度
{width}CTRL-W, 增加或减小窗口的宽度
3.7 关闭当前文件
(1)将光标切换到当前窗口下,然后按照关闭单个窗口的方法关闭窗口。例如:q命令。
(2)关闭所有窗口文件:在所有关闭单个窗口的命令中加上all,例如:qall命令。
(3)关闭除当前窗口之外的文件:only。
3.8 在多窗口下新建文件
:new
3.9 不同文件比较
:diffsplit file 上下窗口显示
:vertical diffsplit file,左右窗口显示