Vim 是从 vi 发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。Vim 和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。一开始使用 Vim 时会觉得命令太多无从下手,常常望而却步。其实,只要坚持在工作中经常使用 Vim ,慢慢的就会得心应手。

Cursor Movement (光标移动)

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

Insert Mode (插入模式)

命令 作用(说明)
i 插入到光标前面
I 插入到行的开始位置
a 插入到光标的后面
A 插入到行的最后位置
o, O 新开一行
Esc 关闭插入模式

Editing (编辑)

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

Search (搜索)

命令 作用(说明)
/pattern 搜索(非插入模式)
?pattern 往后搜索
n 光标到达搜索结果的前一个目标
N 光标到达搜索结果的后一个目标
# 跳转到该行的第#个位置
#G 15G,跳转到15行
0 跳转到行首
$ 跳转到行尾
2$ 跳转到下一行的行尾

Visual Mode (视觉模式)

命令 作用(说明)
v 选中一个或多个字符
V 选中一行

删除操作 (Delete)

命令 作用(说明)
d^ 删至行首
d$ 删至行尾
dd 删除一行
dw 删除一个单词
d4w 删除4个单词
daB 删除{}及其内的内容
diB 删除{}中的内容
x 删除后一个字符
X 删除前一个字符
D 删除一行最后一个字符
ggdG 删除文件中所有内容,和:%d效果一样
[N]yy 复制一行或者N行
yw 复制一个单词
p 粘贴
]p 粘贴到合适的缩进处

窗口操作

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

其它操作

命令 作用(说明)
#yw 复制#个字到缓冲区
#yy 表示复制从光标所在的该行往下数#行文字
n1,n2 co n3 复制第n1行到第n2行之间的内容到第n3行后面
gUU 将当前行的字母改为大写
guu 将当前行的字母改为小写
gUw 将当前光标下的单词改为大写
guw 将当前光标下的单词改为小写
ggguG 整篇小写
gggUG 整篇大写
J 当前行和下一行合并成一行
ctrl+/ 单行注释
ctrl+shift+ / 块注释
ctrl+. 折叠选中的代码的代码