Vim 的快捷键(键位映射)非常丰富,涵盖了普通模式(Normal Mode)、插入模式(Insert Mode)、可视模式(Visual Mode)和命令模式(Command Mode)。以下是详细的分类整理:
1. 普通模式(Normal Mode)快捷键
1.1 光标移动
| 快捷键 | 功能 |
h j k l |
左、下、上、右移动 |
w / W |
跳到下一个单词开头(W 忽略符号) |
b / B |
跳到上一个单词开头(B 忽略符号) |
e / E |
跳到单词结尾(E 忽略符号) |
0 |
跳到行首 |
^ |
跳到行首第一个非空白字符 |
$ |
跳到行尾 |
g_ |
跳到行尾最后一个非空白字符 |
gg |
跳到文件第一行 |
G |
跳到文件最后一行 |
nG / :n |
跳到第 n 行(如 5G 跳到第 5 行) |
H |
跳到屏幕顶部(High) |
M |
跳到屏幕中间(Middle) |
L |
跳到屏幕底部(Low) |
Ctrl + f |
向下翻页(Forward) |
Ctrl + b |
向上翻页(Backward) |
Ctrl + d |
向下半页(Down) |
Ctrl + u |
向上半页(Up) |
% |
在匹配的 (), {}, [] 之间跳转 |
1.2 编辑操作
| 快捷键 | 功能 |
i |
在光标前进入插入模式 |
a |
在光标后进入插入模式 |
I |
在行首进入插入模式 |
A |
在行尾进入插入模式 |
o |
在当前行下方插入新行 |
O |
在当前行上方插入新行 |
x |
删除当前字符(相当于 dl) |
X |
删除前一个字符(相当于 dh) |
dd |
删除当前行 |
dw |
删除当前单词 |
D / d$ |
删除到行尾 |
yy |
复制当前行(yank) |
yw |
复制当前单词 |
p |
粘贴到光标后 |
P |
粘贴到光标前 |
u |
撤销(Undo) |
Ctrl + r |
重做(Redo) |
. |
重复上一次操作 |
J |
合并当前行和下一行 |
~ |
切换当前字符大小写 |
>> |
向右缩进当前行 |
<< |
向左缩进当前行 |
1.3 查找与替换
| 快捷键 | 功能 |
/pattern |
向下查找 pattern |
?pattern |
向上查找 pattern |
n |
跳转到下一个匹配 |
N |
跳转到上一个匹配 |
* |
查找当前光标下的单词(向下) |
# |
查找当前光标下的单词(向上) |
:s/old/new/g |
替换当前行的 old 为 new |
:%s/old/new/g |
替换全文的 old 为 new |
:s/old/new/gc |
替换时逐个确认 |
1.4 窗口与分屏
| 快捷键 | 功能 |
:sp [file] |
水平分屏 |
:vsp [file] |
垂直分屏 |
Ctrl + w + h/j/k/l |
切换分屏 |
Ctrl + w + + |
增加窗口高度 |
Ctrl + w + - |
减少窗口高度 |
Ctrl + w + = |
均衡窗口大小 |
Ctrl + w + q |
关闭当前窗口 |
2. 插入模式(Insert Mode)快捷键
| 快捷键 | 功能 |
Ctrl + h |
删除前一个字符(相当于 Backspace) |
Ctrl + w |
删除前一个单词 |
Ctrl + u |
删除到行首 |
Ctrl + a |
跳到行首 |
Ctrl + e |
跳到行尾 |
Ctrl + t |
增加缩进 |
Ctrl + d |
减少缩进 |
Ctrl + n |
自动补全(向下选择) |
Ctrl + p |
自动补全(向上选择) |
Ctrl + r + [寄存器] |
粘贴寄存器内容(如 Ctrl + r + " 粘贴剪贴板) |
Esc / Ctrl + [ |
退出插入模式 |
3. 可视模式(Visual Mode)快捷键
| 快捷键 | 功能 |
v |
进入字符选择模式 |
V |
进入行选择模式 |
Ctrl + v |
进入块选择模式 |
y |
复制选中内容 |
d |
删除选中内容 |
> |
向右缩进选中行 |
< |
向左缩进选中行 |
~ |
切换选中内容的大小写 |
J |
合并选中行 |
4. 命令模式(Command Mode)快捷键
| 快捷键 | 功能 |
:w |
保存文件 |
:q |
退出 Vim |
:wq / :x |
保存并退出 |
:q! |
强制退出(不保存) |
:e [file] |
打开另一个文件 |
:r [file] |
插入文件内容到当前光标处 |
:! [cmd] |
执行 Shell 命令(如 :!ls) |
:set nu |
显示行号 |
:set nonu |
隐藏行号 |
:set paste |
进入粘贴模式(防止自动缩进) |
:set nopaste |
退出粘贴模式 |
5. 高级技巧
5.1 宏录制
| 快捷键 | 功能 |
q[a-z] |
开始录制宏(如 qa 录制到 a 寄存器) |
q |
停止录制 |
@[a-z] |
执行宏(如 @a 执行 a 寄存器中的宏) |
5.2 标记与跳转
| 快捷键 | 功能 |
m[a-z] |
设置标记(如 ma 设置标记 a) |
`a |
跳转到标记 a |
`` |
跳转到上次光标位置 |
`. |
跳转到最后编辑的位置 |
总结
Vim 的快捷键非常多,但掌握核心操作后可以极大提高编辑效率。建议:
-
先熟练 h/j/k/l、w/b、0/$、i/a、dd/yy/p 等基础操作。
-
逐步学习 查找替换、分屏、宏录制 等高级功能。
-
使用 :help [command] 查看 Vim 内置帮助文档(如 :help w 查看 w 的用法)