Vim 到目前位置也用了将近两年,但是很多的快捷键每次要用到的时候还是会 Google 一下,只能记住很少的命令,查的过程其实还是会浪费很多时间,这里总结一下一些常用的 Vim 命令,以便以后查看。

光标移动

命令 作用(解释)
h,j,k,l h表示往左,j表示往下,k表示往上,l表示往右
Ctrl+f 上一页
Ctrl+b 下一页
w, e, W, E 跳到单词的后面,小写包括标点
b, B 以单词为单位往前跳动光标,小写包含标点
0 跳到本行的头部
O 开启新的一行
^ 一行的开始
$ 一行的结尾
gg 文档的第一行
[N]G 文档的第N行(G 是最后一行),如:27+shift+g

插入

命令 作用(解释)
i 插入到光标前面
I 插入到行的开始位置
a 插入到光标的后面
A 插入到行的最后位置
o 在当前光标的下方插入新一行
O(Shift+o) 在当前光标的上方插入新一行
Esc 关闭插入模式

编辑

命令 作用(解释)
r 在插入模式替换光标所在的一个字符
J 合并下一行到上一行
s 删除光标所在的一个字符, 光标还在当行
S 删除光标所在的一行,光标还在当行,不同于dd
u 撤销上一步操作
ctrl+r 恢复上一步操作
. 重复最后一个命令
~ 变换为大写
[N]>> 一行或N行往右移动一个tab
[N]<< 一行或N行往左移动一个tab

退出

命令 作用(解释)
:w 保存
:wq,:x 保存并关闭
:q 关闭(已保存)
:q! 强制关,不保存

查找和搜索

命令 作用(解释)
/pattern 搜索(非插入模式) ,支持正则
?pattern 往后搜索
n 光标到达搜索结果的前一个目标
N 光标到达搜索结果的后一个目标
r+p 将光标之后的字符替换为字母p
:s/word/replace 光标所在行的第一个 word 替换为replace。
:%s/word/replace/ 全文查找 word 并替换为 replace
:1,50s/word/replace/ 在第1行和第50行之间(含)进行搜索和替换
:45s/word/replace/ 表示仅仅在第45行进行搜索和替换。而 1,$ 行号范围和 % 是等价的
%s/^/要插入的字符串 每行开头插入字符串
%s/$/要插入的字符串 每行结尾插入字符串

剪切、复制与粘贴

命令 作用(解释)
dd 删除一行,同时被删除内容存于剪贴板上
de 删除光标后的单词内容,同时被删除内容存于剪贴板上
dw 删除光标后的单词内容以及之后的空格,同时被删除内容存于剪贴板上
dw 删除一个单词
[N]dd 删除以当前行开始的n行
x 删除后一个字符
X 删除前一个字符
D 删除一行最后一个字符
[N]yy 复制一行或者N行
yw 复制一个单词
p 粘贴

窗口操作

命令 作用(解释)
:split 水平方向分割出一个窗口
:vsplit 垂直方向分割出一个窗口
:close 关闭窗口
Ctrl+W 切换窗口, h到左边窗口,j到下方窗口,k到上方窗口,l到右边窗口

文字版

这里有一个别人总结的文字版图片链接

vim-text


参考: