本文主要记录一些日常使用vim时本人觉得比较实用的操作,有待完善中...
一、vim的四种模式
1.正常模式(normal-mode):
该模式用于浏览文本,及一些快捷的文本处理操作
vim启动后默认进入正常模式,进入其他模式后按ESC可回到正常模式
2.插入模式(insert-mode):
该模式用于编辑文本,插入模式可从正常模式中通过以下操作进入:
i:在光标所在字符前开始编辑
a:在光标所在字符后开始编辑
o:在光标所在行的下面新建一行并开始编辑
s:删除光标所在字符并开始编辑
shift+i:在光标所在行首开始编辑,同I
shift+a:在光标所在行末开始编辑,同A
shitf+o:在光标所在行的上一行新建一行并开始编辑,同O
3.命令模式(command-mode):
4.可视模式(visual-mode):
以下操作如无特别说明,均为正常模式下的操作。
1. 删除/复制/粘贴操作
删除:
dd :删除光标所在行,同D
ndd :删除光标所在行及以下共n行,n为具体行数
d$ :删除光表所在位置到行尾之间的字符
d^ :删除光标所在位置到行首(第一非空白字符)之间的字符
x :删除光标所在位置的字符,同Delete
X :删除光标所在位置的前一个字符,相当于Backspace(但Backspace只是使光标向左移动一个字符位置)
复制:
yy :复制光标所在行,同Y
nyy :复制光标所在行及以下共n行,n为具体行数,同nY
y$ :复制光表所在位置到行尾之间的字符
y^ :复制光标所在位置到行首(第一非空白字符)之间的字符
粘贴:
p :若复制操作为yy/nyy,则在将复制内容粘贴到光标所在行的下一/n行;若复制操作为y$/y^,则将复制内容粘贴到光标位置之后
P :若复制yy/nyy,则在将复制内容粘贴到光标所在行的上一/n行;若复制操作为y$/y^,则将复制内容粘贴到光标位置之前
u : 撤销操作
ctrl+r : 还原u的撤销
2. 光标位置切换
gg :光标跳到第一行
G :光标跳到最后一行
ctrl+o :返回到跳转之前的光标位置
ctrl+i :还原ctrl+o的操作
^ :光标跳到行首
$ :光标跳到行尾
ctrl+→ :光标跳到下一个空白符之后的第一个非空白字符位置
ctrl+← :光标跳到上一个空白符之后的第一个非空白字符位置
3. 多文件操作
在terminal中启动vim时,可同时指定多个文件路径作为参数,则同时打开多个文件(但当前窗口只显示第一个参数指定的文件)
也可在启动vim后,在命令模式下输入e [文件路径]打开其他文件(若是gVim,可输入tabe,以table页方式打开文件)
命令模式下输入buffers,可查看以打开的文件及对应编号
命令模式下通过b1,b2...可在这些打开的文件之间进行窗口切换
gf :若光标位置为一个文件的路径,则打开并切换到至文件窗口(在命令模式下输入br可返还原窗口)