Vim 快捷键速查表:从入门到高效编辑

February, 5th 2026 11 min read Markdown
Vim 常用快捷键速查表 - 提升编辑效率必备

为什么要学 Vim

Vim 快捷键记不住是每个初学者的痛点。但一旦掌握,你会发现:

  • 无需离开键盘:双手始终在主键区,编辑效率极高
  • 无处不在:服务器、VS Code、JetBrains IDE 都支持 Vim 模式
  • 一次学习,终身受益:Vim 的设计哲学 40 年不变

这篇文章整理了最常用的快捷键,按使用场景分类,方便查阅。

模式切换

Vim 有多种模式,这是它与其他编辑器最大的不同:

快捷键说明
Esc返回 Normal 模式(最常用)
i在光标前插入(Insert)
a在光标后插入(Append)
I在行首插入
A在行尾插入
o在下方新建一行并插入
O在上方新建一行并插入
v进入 Visual 模式(字符选择)
V进入 Visual Line 模式(行选择)
Ctrl + v进入 Visual Block 模式(块选择)
:进入命令模式

光标移动

基础移动

快捷键说明
h左移一个字符
j下移一行
k上移一行
l右移一个字符

记忆技巧:j 像一个向下的箭头,k 像一个向上的支架

单词级移动

快捷键说明
w跳到下一个单词开头(word)
W跳到下一个空格分隔的单词开头
b跳到上一个单词开头(back)
B跳到上一个空格分隔的单词开头
e跳到当前/下一个单词结尾(end)
E跳到空格分隔的单词结尾

行内移动

快捷键说明
0跳到行首
^跳到行首第一个非空字符
$跳到行尾
f + 字符向右跳到指定字符(find)
F + 字符向左跳到指定字符
t + 字符跳到指定字符前一个位置(till)
T + 字符向左跳到指定字符后一个位置
;重复上一次 f/F/t/T
,反向重复上一次 f/F/t/T

屏幕/文件级移动

快捷键说明
gg跳到文件开头
G跳到文件末尾
数字 + G跳到第 n 行,如 50G 跳到第 50 行
: + 数字跳到第 n 行(命令模式),如 :50
Ctrl + f向下翻页(forward)
Ctrl + b向上翻页(backward)
Ctrl + d向下翻半页(down)
Ctrl + u向上翻半页(up)
H跳到屏幕顶部(High)
M跳到屏幕中间(Middle)
L跳到屏幕底部(Low)
zz将当前行移到屏幕中央
zt将当前行移到屏幕顶部
zb将当前行移到屏幕底部

编辑操作

删除

快捷键说明
x删除光标下的字符
X删除光标前的字符
dd删除整行
D删除到行尾
dw删除到下一个单词开头
de删除到单词结尾
db删除到单词开头
d$删除到行尾
d0删除到行首
dgg删除到文件开头
dG删除到文件末尾
数字 + dd删除多行,如 3dd 删除 3 行

修改(删除并进入插入模式)

快捷键说明
cc修改整行
C修改到行尾
cw修改到单词结尾
ciw修改整个单词(change inner word)
ci"修改双引号内的内容
ci'修改单引号内的内容
ci(修改括号内的内容
ci[修改方括号内的内容
cit修改 HTML 标签内的内容
s删除字符并进入插入模式
S删除整行并进入插入模式

复制与粘贴

快捷键说明
yy复制整行(yank)
Y复制整行
yw复制到下一个单词开头
yiw复制整个单词
y$复制到行尾
p在光标后粘贴(paste)
P在光标前粘贴
"0p粘贴最近复制的内容(不是删除的)
"+y复制到系统剪贴板
"+p从系统剪贴板粘贴

撤销与重做

快捷键说明
u撤销(undo)
Ctrl + r重做(redo)
.重复上一次操作

其他编辑

快捷键说明
r + 字符替换当前字符为指定字符
R进入替换模式
~切换大小写
>>向右缩进
<<向左缩进
==自动缩进当前行
J合并当前行和下一行

搜索与替换

搜索

快捷键说明
/ + 关键词向下搜索
? + 关键词向上搜索
n跳到下一个匹配
N跳到上一个匹配
*搜索光标下的单词(向下)
#搜索光标下的单词(向上)
:noh清除搜索高亮

替换

快捷键说明
:s/old/new替换当前行第一个匹配
:s/old/new/g替换当前行所有匹配
:%s/old/new/g替换整个文件所有匹配
:%s/old/new/gc替换整个文件,每次询问确认

文本对象(Text Objects)

Vim 的强大之处在于可以组合操作符和文本对象:

bash
1
操作符 + 数量 + 动作/文本对象

常用操作符

操作符说明
d删除(delete)
c修改(change)
y复制(yank)
v选择(visual)
>右缩进
<左缩进

常用文本对象

文本对象说明
iwinner word(单词内部)
awa word(单词 + 周围空格)
isinner sentence
asa sentence
ipinner paragraph
apa paragraph
i"双引号内部
a"双引号及引号
i'单引号内部
i(ib括号内部
a(ab括号及括号
iB花括号内部
i[方括号内部
itHTML 标签内部
atHTML 标签及标签

组合示例

命令说明
diw删除整个单词
daw删除单词及周围空格
ci"修改双引号内的内容
da(删除括号及内容
yap复制整个段落
>ip缩进段落
vit选中 HTML 标签内容

窗口与标签页

窗口分割

快捷键说明
:spCtrl + w s水平分割
:vspCtrl + w v垂直分割
Ctrl + w h/j/k/l在窗口间移动
Ctrl + w H/J/K/L移动窗口位置
Ctrl + w =均分窗口大小
Ctrl + w _最大化当前窗口高度
Ctrl + w q关闭当前窗口
Ctrl + w o只保留当前窗口

标签页

快捷键说明
:tabnew新建标签页
:tabc关闭标签页
gt下一个标签页
gT上一个标签页
数字 + gt跳到第 n 个标签页,如 2gt

文件操作

快捷键说明
:w保存
:w 文件名另存为
:q退出
:q!强制退出(不保存)
:wq:x保存并退出
ZZ保存并退出
ZQ强制退出
:e 文件名打开文件
:e!放弃修改,重新加载
:bn下一个 buffer
:bp上一个 buffer
:bd关闭 buffer
:ls列出所有 buffer

宏(Macros)

快捷键说明
q + 字母开始录制宏到寄存器(如 qa
q停止录制
@ + 字母播放宏(如 @a
@@重复上一次宏
数字 + @ + 字母播放宏 n 次,如 10@a

宏的使用示例

bash
12345
qa          # 开始录制到寄存器 a
I// <Esc>   # 在行首添加注释
j           # 移动到下一行
q           # 停止录制
10@a        # 对接下来 10 行执行同样的操作

标记(Marks)

快捷键说明
m + 小写字母设置本地标记(如 ma
m + 大写字母设置全局标记(跨文件,如 mA
' + 标记跳到标记所在行(如 'a
` + 标记跳到标记精确位置
:marks列出所有标记
`.跳到上次修改位置
''跳到上次跳转前的位置

实用技巧

数字前缀

几乎所有命令都可以加数字前缀来重复:

命令说明
5j向下移动 5 行
3dd删除 3 行
10yy复制 10 行
2dw删除 2 个单词
50G跳到第 50 行

常用组合

命令说明
ddp交换当前行和下一行
xp交换两个字符
yyp复制当前行到下一行
ea在单词末尾追加
bi在单词开头插入
ggVG全选
gg=G全文自动缩进

总结

Vim 的学习曲线确实陡峭,但掌握后效率提升是实实在在的。建议:

  1. 先掌握基础hjkl 移动、i/a 插入、:wq 保存退出
  2. 逐步添加:每周学几个新命令,形成肌肉记忆
  3. 多用文本对象ci", diw, yap 这类组合非常实用
  4. 打开 Vim Tutor:终端输入 vimtutor 进行交互式学习

记住:Vim 不是要替代鼠标,而是让你的双手不用离开键盘。当你发现自己在想「有没有更快的方式」时,答案通常是「有」。

参考资源