Vim 是一款功能强大的文本编辑器,掌握其快捷键可以极大地提升编码和编辑效率。以下是一份整理好的 Vim 常用快捷键速查表,按功能分类。
1. 模式切换 (Modes)
| 快捷键 | 说明 |
|---|---|
i | 在光标前进入插入模式 (Insert Mode) |
a | 在光标后进入插入模式 |
I | 在行首进入插入模式 |
A | 在行尾进入插入模式 |
o | 在当前行下方插入新行并进入插入模式 |
O | 在当前行上方插入新行并进入插入模式 |
Esc | 退出当前模式,返回普通模式 (Normal Mode) |
v | 进入字符可视化模式 (Visual Mode) |
V | 进入行可视化模式 (Visual Line Mode) |
Ctrl + v | 进入块可视化模式 (Visual Block Mode) |
: | 进入命令模式 (Command Mode) |
2. 光标移动 (Navigation)
基础移动
| 快捷键 | 说明 |
|---|---|
h | 左 |
j | 下 |
k | 上 |
l | 右 |
行内移动
| 快捷键 | 说明 |
|---|---|
0 | 移动到行首 |
^ | 移动到行首第一个非空字符 |
$ | 移动到行尾 |
w | 移动到下一个单词开头 |
b | 移动到上一个单词开头 |
e | 移动到当前/下一个单词结尾 |
页面/文件移动
| 快捷键 | 说明 |
|---|---|
gg | 移动到文件第一行 |
G | 移动到文件最后一行 |
:n | 跳转到第 n 行 (例如 :10) |
Ctrl + u | 向上翻半页 |
Ctrl + d | 向下翻半页 |
Ctrl + f | 向下翻一页 |
Ctrl + b | 向上翻一页 |
3. 编辑操作 (Editing)
| 快捷键 | 说明 |
|---|---|
r | 替换当前字符 (Replace) |
R | 进入替换模式,连续替换字符 |
x | 删除当前字符 |
dw | 删除当前单词 |
dd | 删除当前行 |
D | 删除从光标处到行尾的内容 |
u | 撤销上一步操作 (Undo) |
Ctrl + r | 重做 (Redo) |
. | 重复上一次修改操作 |
J | 合并当前行与下一行 |
~ | 切换字符大小写 |
4. 复制与粘贴 (Copy & Paste)
在 Vim 中,复制被称为 “Yank” (y),剪切本质上是删除 (d)。
| 快捷键 | 说明 |
|---|---|
yy | 复制当前行 |
yw | 复制当前单词 |
y$ | 复制从光标处到行尾的内容 |
p | 在光标后/下方粘贴 |
P | 在光标前/上方粘贴 |
dd | 剪切当前行 (实际上是删除,但内容在寄存器中) |
5. 搜索与替换 (Search & Replace)
| 快捷键 | 说明 |
|---|---|
/pattern | 向下搜索 pattern |
?pattern | 向上搜索 pattern |
n | 跳转到下一个匹配项 |
N | 跳转到上一个匹配项 |
* | 搜索光标所在的单词 (向下) |
# | 搜索光标所在的单词 (向上) |
:%s/old/new/g | 全文替换 old 为 new |
:%s/old/new/gc | 全文替换,并在替换前确认 |
6. 文件与窗口操作 (File & Window)
| 快捷键 | 说明 |
|---|---|
:w | 保存文件 |
:q | 退出 |
:wq 或 x | 保存并退出 |
:q! | 强制退出 (不保存) |
:vs | 垂直分屏 (Vertical Split) |
:sp | 水平分屏 (Split) |
Ctrl + w + h/j/k/l | 在分屏窗口间切换焦点 |
Ctrl + w + c | 关闭当前窗口 |
7. 常用组合技 (Combos)
Vim 的强大之处在于命令的组合,遵循 操作 + 范围/对象 的逻辑。
ciw: Change Inner Word (删除当前单词并进入插入模式)yiw: Yank Inner Word (复制当前单词,不包含周围空格)da": Delete Around ” (删除双引号内的内容,包括双引号)ct): Change To ) (修改直到右括号的内容)gg=G: 全文代码自动格式化 (Indentation)