vim的几种工作模式:普通模式、编辑模式、命令模式。
模式 | 说明 |
普通模式 | 默认,使用vim打开一个文件后,默认进入普通模式 |
编辑模式 | 在普通模式下,按下“i/I、o/O、a/A、r/R、s/S”进入到编辑模式 |
命令模式 | 在普通模式下,输入“:、/、?”进入到命令模式 |
可视模式 | 在普通模式下,按v、V、Ctrl+v进入可视模式 |
多窗口模式 | 在普通模式下,使用:sp、:sp file进入打开多窗口模块 |
普通模式:默认模式,打开文件默认为普通模式
按键 | 说明 |
↑,k | 向上移动 |
↓,j | 向下移动 |
←,h | 向左移动 |
→,l | 向右移动 |
1G | 移动到第一行行首 |
G | 移动到最后一行行首 |
nG | n表示数字,移动到第n行行首 |
n+回车 | n表示数字,向下移动n行 |
0,^ | 移动到行首。行首有空格的情况下,0包括空格,^不包括空格 |
$ | 移动到行尾 |
x/X | x删除当前光标字符,X删除当前光标前一个字符 |
dd | 删除当前行,也表示剪切当前行 |
d0 | 删除当前光标左边内容至行首 |
d$ | 删除当前光标右边内容至行尾 |
ndd | n表示数字,向下删除n行 |
yy | 复制当前行 |
y0 | 复制当前光标左边内容至行首 |
y$ | 复制当前光标右边内容至行尾 |
nyy | n表示数字,向下复制n行 |
p/P | p:在下一行粘贴,P:在上一行粘贴 |
u | 撤销上一步操作 |
Ctrl+r | 恢复上一步撤销的操作 |
. | 重复上一步命令 |
ZZ | 保存并退出vim |
编辑模式: 按下“i/I、o/O、a/A、r/R、s/S”进入到编辑模式
按键 | 说明 |
i/I | 插入模式 |
o/O | o:从下一行开始插入内容,O:从上一行开始插入内容 |
a/A | a:从光标下一个字符开始插入内容,A:从行尾开始插入内容 |
r/R | r:只替换当前光标所在的字符,R:从当前光标开始替换内容 |
s/S | s:删除当前光标所在字符后进入插入模式,S:删除当前行后进入插入模式 |
命令模式:在普通模式下,输入“:、/、?”进入到命令模式
按键 | 说明 |
:w | 保存 |
:w newfile | 另存为,newfile文件名 |
:wq | 保存并退出 |
:wq! | 强制保存并退出 |
:q | 退出 |
:q! | 强制退出 |
:r file | 将一个文件的内容插入到当前文件中 |
:set nu | 显示行号 |
:set nonu | 隐藏行号 |
/name | 向下开始搜索"name"。n:选择下一个,N:选择上一个 |
?name | 向上开始搜索"name"。n:选择上一个,N:选择下一个 |
:s/a/b/g | 将当前行中的所有的a替换为b |
:n1,n2s/a/b/g | 将n1行至n2行之间所有的a替换为b |
:%s/a/b/g | 全局替换,将文件中所有的a替换为b。 |
可视模式:进行块选择,从普通模式下进入
按键 | 说明 |
v | 字符选择,反白显示 |
V | 行选择,反白显示 |
Ctrl+v | 块选择,反白显示 |
y | 复制反白部分 |
d | 删除反白部分 |
多窗口模式:从普通模式下进入,使用:sp、:sp file 打开多窗口模式
按键 | 说明 |
:sp | 再打开一个窗口并显示同一个文件 |
:sp file | 再打开一个窗口并显示file文件 |
Ctrl+w | 执行窗口命令的组合键 |
Ctrl+w w | 先按下Ctrl+w,再按w,向下切换窗口,循环切换 |
Ctrl+w j | 先按下Ctrl+w,再按j,向下切换窗口,切换到最后一个窗口后不能再向下切换 |
Ctrl+w k | 先按下Ctrl+w,再按k,向上切换窗口,切换到第一个窗口后不能再向上切换 |
Ctrl+w c | 先按下Ctrl+w,再按c,关闭当前窗口 |
Ctrl+w o | 先按下Ctrl+w,再按o,关闭除当前窗口外的其它窗口 |