vim包含三种模式,分别是一般模式、编辑模式和命令模式,一般模式可以用来移动光标、复制粘贴、删除等,编辑模式可以编辑文字,命令模式可以用来保存、退出、显示或隐藏行号等。
一般模式下常用的快捷键
移动光标
移动光标是比较频繁地操作,在vim中只使用方向键也可以移动光标位置,但如果配合合理的快捷键的话,效率会更高。
上下翻页
快捷键 | 索命 |
---|---|
ctrl + u | 向上翻半页 |
ctrl + d | 向下翻半页 |
移动到行号
一般模式下输入:set nu
显示行号
快捷键 | 说明 |
---|---|
G | 移动到最后一行 |
gg | 移动到首行 |
nG | n为数字,移动到某行。如12G就是移动到第12行 |
移动到行首或行位
快捷键 | 说明 |
---|---|
0 | 移动到行首,类似home键 |
$ | 移动到行尾,类似end键 |
搜索关键字
使用vim可以方便地搜索文件中的关键字,并且关键字还会高亮显示。
快捷键 | 说明 |
---|---|
/keywords | 输入关键字并向下搜索 |
?keywords | 输入关键字并向上搜索 |
n | 显示下一个搜索结果 |
N | 显示上一个搜索结果 |
删除
新手一般会进入编辑模式多次按下删除键来删除内容,但vim提供了很多快捷键可以更加快速地删除想要删除的内容
删除字符
不进入编辑模式也可以直接删除字符
快捷键 | 说明 |
---|---|
x | 向后删除,类似普通键盘的del键 |
X | 向前删除,类似普通键盘的backspace键和mac的delete键 |
删除多个字符
如果一次删除一个字符太慢,vim支持一次删除多个字符
快捷键 | 说明 |
---|---|
nx | n为数字。向后删除n个字符 |
nX | n为数字。向前删除n个字符 |
d0 | 删除从光标到行首的内容 |
d$ | 删除从光标到行尾的内容 |
删除整行
快捷键 | 说明 |
---|---|
dd | 删除光标所在的一行 |
ndd | n为数字。删除光标所在的向下n行。例如,5dd就是从光标所在行开始向下共删除5行 |
复制粘贴
快捷键 | 说明 |
---|---|
yy | 复制光标所在行 |
nyy | n为数字。从光标所在行开始,向下复制n行。 |
y1G | 复制光标所在行(含)到第一行的所有内容 |
yG | 复制光标所在行(含)到最后一行的所有内容 |
y0 | 复制光标所在位置到行首的内容 |
y$ | 复制光标所在位置到行尾的内容 |
p | 如果复制的是整行,则在光标所在行的下方粘贴内容。如果是部分行,则在光标后方粘贴 |
P | 如果复制的是整行,则在光标所在行的上方粘贴内容。如果是部分行,则在光标后方粘贴 |
如果复制的是整行,则小写p在下方粘贴内容,大写P上上方粘贴。如果复制的是部分行,则大小写的p都在光标后方粘贴内容
undo和redo
如果上面的删除、粘贴等操作有误,vim还提供了undo和redo的功能
快捷键 | 说明 |
---|---|
u | undo |
ctrl + r | redo |
切换到编辑模式
编辑模式允许用户直接输入文字、删除文字,从一般模式切换到编辑模式很简单,只需要在一般模式下输入字母i
就可以了。但vim还有几个更加高效的快捷键,使进入编辑模式时光标可以定位到一个更加合适的位置,这样就可以直接输入了。
快捷键 | 说明 |
---|---|
i | 进入编辑模式,光标不变 |
A | 进入编辑模式,光标定位到所在行的最后一个字符后面 |
o | (小写字母o)进入编辑模式,在光标所在行下方新建一行并将光标移到此行 |
O | (大写字母O)进入编辑模式,在光标所在行上方新建一行并将光标移到此行 |
按esc键退出编辑模式
命令模式常用快捷键
快捷键 | 说明 |
---|---|
:w | 将数据写入文件,或者理解为保存 |
:q | 退出vim |
:q! | 强制退出vim。如果文件内容已编辑却未保存,且用户想放弃保存并退出,则使用该快捷键 |
:wq | 保存并退出 |
:w filename | (中间有空格)另存为另一个文件 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
块选择(visual block)
对于上面的有些操作,例如复制n行(nyy),删除n行(ndd),以及复制片段(如y0,y
进入块选择模式后,左下角显示-- VISUAL --
字样,并且移动后被选中的文字有选中的样式,比较容易分辨到底选择了哪些东西。
快捷键 | 说明 |
---|---|
v | 进入块选择的普通模式,上下左右移动光标都可以改变选中区域 |
V | 进入块选择的行选择模式,总是选中整行,上下移动光标可改变选中的行数 |
ctrl + v | 进入块选择的矩形选择模式,上向左右移动光标可改变选中的矩形区域 |
y | 复制选中区域,并进入普通模式 |
d | 删除选中区域,并进入普通模式 |
esc | 放弃已选择区域,退出块选择模式,并进入普通模式 |
在普通模式下,使用p或P进行粘贴。
多窗口功能
多窗口功能允许vim同时打开和编辑多个文件。
快捷键 | 说明 |
---|---|
:sp filename | 在另一个窗口中打开另一个文件。如果不加filename的话,则再次打开当前文件 |
ctrl + w + 上下方向键 | 切换窗口。如果是mac的话,需要按下ctrl键后连续按两次w键来切换窗口 |