Linux Vim 常用快捷键大全
Vim 是一款功能强大的文本编辑器,熟练掌握其快捷键可以极大提高编辑效率。以下是 Vim 的常用快捷键分类整理:
1. 模式切换
| 快捷键 | 
功能说明 | 
i | 
进入插入模式(在光标前插入) | 
a | 
进入插入模式(在光标后插入) | 
I | 
进入插入模式(在行首插入) | 
A | 
进入插入模式(在行尾插入) | 
o | 
在当前行下方新建一行并进入插入模式 | 
O | 
在当前行上方新建一行并进入插入模式 | 
Esc 或 Ctrl+[ | 
返回普通模式 | 
v | 
进入可视模式(字符选择) | 
V | 
进入可视模式(行选择) | 
Ctrl+v | 
进入可视模式(块选择) | 
: | 
进入命令模式 | 
2. 光标移动
基本移动
| 快捷键 | 
功能说明 | 
h | 
左移 | 
j | 
下移 | 
k | 
上移 | 
l | 
右移 | 
w | 
移动到下一个单词开头 | 
W | 
移动到下一个单词开头(忽略标点) | 
b | 
移动到上一个单词开头 | 
B | 
移动到上一个单词开头(忽略标点) | 
e | 
移动到单词末尾 | 
E | 
移动到单词末尾(忽略标点) | 
行内移动
| 快捷键 | 
功能说明 | 
0 | 
移动到行首 | 
^ | 
移动到行首第一个非空白字符 | 
| ` | 
快捷键 | 
| -------- | 
---------- | 
0 | 
移动到行首 | 
^ | 
移动到行首第一个非空白字符 | 
| 移动到行尾 | 
 | 
f{字符} | 
向右移动到指定字符,如 fa 移动到下一个 a | 
F{字符} | 
向左移动到指定字符 | 
t{字符} | 
向右移动到指定字符前 | 
T{字符} | 
向左移动到指定字符前 | 
; | 
重复上一次 f、F、t、T 操作 | 
, | 
反向重复上一次 f、F、t、T 操作 | 
页面移动
| 快捷键 | 
功能说明 | 
gg | 
移动到文件开头 | 
G | 
移动到文件末尾 | 
:{行号} | 
跳转到指定行,如 :50 跳转到第50行 | 
Ctrl+f | 
向下翻页 | 
Ctrl+b | 
向上翻页 | 
Ctrl+d | 
向下翻半页 | 
Ctrl+u | 
向上翻半页 | 
H | 
移动到屏幕顶部 | 
M | 
移动到屏幕中间 | 
L | 
移动到屏幕底部 | 
zz | 
将当前行置于屏幕中央 | 
3. 编辑操作
删除操作
| 快捷键 | 
功能说明 | 
x | 
删除当前字符 | 
X | 
删除前一个字符 | 
dd | 
删除当前行 | 
dw | 
删除到下一个单词开头 | 
de | 
删除到单词末尾 | 
| `d | 
快捷键 | 
| -------- | 
---------- | 
x | 
删除当前字符 | 
X | 
删除前一个字符 | 
dd | 
删除当前行 | 
dw | 
删除到下一个单词开头 | 
de | 
删除到单词末尾 | 
或 D | 
删除到行尾 | 
d0 | 
删除到行首 | 
dgg | 
删除到文件开头 | 
dG | 
删除到文件末尾 | 
d{数字}j | 
向下删除指定行数,如 d5j 删除5行 | 
d{数字}k | 
向上删除指定行数 | 
复制粘贴
| 快捷键 | 
功能说明 | 
yy | 
复制当前行 | 
yw | 
复制当前单词 | 
| `y | 
快捷键 | 
| -------- | 
---------- | 
yy | 
复制当前行 | 
yw | 
复制当前单词 | 
| 复制到行尾 | 
 | 
p | 
在光标后粘贴 | 
P | 
在光标前粘贴 | 
"*p | 
从系统剪贴板粘贴 | 
撤销重做
| 快捷键 | 
功能说明 | 
u | 
撤销 | 
Ctrl+r | 
重做 | 
U | 
撤销当前行的所有修改 | 
替换操作
| 快捷键 | 
功能说明 | 
r{字符} | 
替换当前字符 | 
R | 
进入替换模式 | 
cw | 
修改当前单词 | 
cc | 
修改整行 | 
| `c | 
快捷键 | 
| -------- | 
---------- | 
r{字符} | 
替换当前字符 | 
R | 
进入替换模式 | 
cw | 
修改当前单词 | 
cc | 
修改整行 | 
| 修改到行尾 | 
 | 
C | 
修改到行尾(同 c$) | 
s | 
删除当前字符并进入插入模式 | 
S | 
删除当前行并进入插入模式 | 
4. 搜索替换
| 快捷键 | 
功能说明 | 
/pattern | 
向前搜索模式 | 
?pattern | 
向后搜索模式 | 
n | 
重复上一次搜索 | 
N | 
反向重复上一次搜索 | 
* | 
搜索当前光标下的单词 | 
# | 
反向搜索当前光标下的单词 | 
:%s/old/new/g | 
全局替换 | 
:%s/old/new/gc | 
全局替换(带确认) | 
:s/old/new/g | 
当前行替换 | 
5. 缩进和格式化
| 快捷键 | 
功能说明 | 
>> | 
当前行向右缩进 | 
<< | 
当前行向左缩进 | 
== | 
自动缩进当前行 | 
gg=G | 
自动缩进整个文件 | 
>{移动命令} | 
向右缩进选中的文本 | 
<{移动命令} | 
向左缩进选中的文本 | 
6. 窗口和标签页
窗口操作
| 快捷键 | 
功能说明 | 
:sp [文件] | 
水平分割窗口 | 
:vsp [文件] | 
垂直分割窗口 | 
Ctrl+w h | 
切换到左边窗口 | 
Ctrl+w j | 
切换到下边窗口 | 
Ctrl+w k | 
切换到上边窗口 | 
Ctrl+w l | 
切换到右边窗口 | 
Ctrl+w w | 
循环切换窗口 | 
Ctrl+w = | 
使所有窗口等宽等高 | 
Ctrl+w + | 
增加窗口高度 | 
Ctrl+w - | 
减少窗口高度 | 
Ctrl+w > | 
增加窗口宽度 | 
Ctrl+w < | 
减少窗口宽度 | 
Ctrl+w q | 
关闭当前窗口 | 
Ctrl+w o | 
只保留当前窗口 | 
标签页操作
| 快捷键 | 
功能说明 | 
:tabnew [文件] | 
新建标签页 | 
:tabclose | 
关闭当前标签页 | 
:tabonly | 
关闭其他所有标签页 | 
gt | 
切换到下一个标签页 | 
gT | 
切换到上一个标签页 | 
{数字}gt | 
切换到指定编号的标签页 | 
7. 宏录制
| 快捷键 | 
功能说明 | 
q{寄存器} | 
开始录制宏到指定寄存器,如 qa | 
q | 
停止录制宏 | 
@{寄存器} | 
执行指定寄存器的宏,如 @a | 
@@ | 
重复执行上一次的宏 | 
8. 实用命令
| 快捷键 | 
功能说明 | 
:w | 
保存文件 | 
:q | 
退出 | 
:q! | 
强制退出(不保存) | 
:wq 或 :x | 
保存并退出 | 
:e! | 
重新加载文件(放弃修改) | 
:set number 或 :set nu | 
显示行号 | 
:set nonumber 或 :set nonu | 
隐藏行号 | 
:set paste | 
进入粘贴模式(避免自动缩进) | 
:set nopaste | 
退出粘贴模式 | 
Ctrl+g | 
显示当前文件信息和位置 | 
K | 
查看当前光标下单词的手册页 | 
9. 可视模式操作
| 快捷键 | 
功能说明 | 
v | 
进入字符选择模式 | 
V | 
进入行选择模式 | 
Ctrl+v | 
进入块选择模式 | 
o | 
在可视模式下切换选择端点 | 
aw | 
选择一个单词 | 
ab | 
选择一对圆括号内的内容 | 
aB | 
选择一对花括号内的内容 | 
it | 
选择一个标签内的内容(HTML/XML) | 
10. 实用技巧和组合
# 常用组合示例:
# 删除从当前行到文件末尾
dG
# 复制从当前行到第10行
:10y
# 在当前行下方复制当前行
yyp
# 交换两行
ddp
# 自动格式化整个文件
gg=G
# 删除所有空白行
:g/^$/d
# 删除所有包含"debug"的行
:g/debug/d
# 在每行行尾添加分号
:%s/$/;/
# 快速注释多行(块选择模式)
Ctrl+v → 选择行 → I → # → Esc
# 快速取消注释多行(块选择模式)
Ctrl+v → 选择注释符号 → d
学习建议
- 循序渐进:先从基本的光标移动和编辑命令开始
 
- 多用多练:在实际工作中强制自己使用 Vim
 
- 使用 Vimtutor:运行 
vimtutor 命令进行交互式学习 
- 定制配置:创建自己的 
.vimrc 配置文件 
- 安装插件:根据需要安装合适的插件增强功能
 
记住,Vim 的学习曲线虽然陡峭,但一旦掌握,编辑效率会大幅提升。建议将这份快捷键列表打印出来或放在手边,随时查阅。