🚀 Vim终极快捷键指南:高效编辑的艺术
常用
快捷键 |
功能描述 |
使用频率 |
i |
进入插入模式 |
⭐⭐⭐⭐⭐ |
ESC |
返回普通模式 |
⭐⭐⭐⭐⭐ |
:w |
保存文件 |
⭐⭐⭐⭐⭐ |
:q |
退出编辑器 |
⭐⭐⭐⭐⭐ |
u |
撤销操作 |
⭐⭐⭐⭐⭐ |
Ctrl+r |
重做操作 |
⭐⭐⭐⭐⭐ |
dd |
删除整行 |
⭐⭐⭐⭐ |
yy |
复制整行 |
⭐⭐⭐⭐ |
p |
粘贴 |
⭐⭐⭐⭐ |
/搜索词 |
全局搜索 |
⭐⭐⭐⭐ |
n |
跳转到下一个搜索结果 |
⭐⭐⭐⭐ |
:sp |
水平分割窗口 |
⭐⭐⭐ |
:vsp |
垂直分割窗口 |
⭐⭐⭐ |
Ctrl+ww |
切换窗口 |
⭐⭐⭐ |
🔑 模式切换
快捷键 |
功能描述 |
i |
进入插入模式 |
a |
在光标后插入 |
o |
下方新建行插入 |
ESC |
返回普通模式 |
v |
进入可视模式 |
V |
行可视模式 |
Ctrl+v |
块可视模式 |
: |
进入命令模式 |
🏃 光标移动
基础移动
快捷键 |
功能描述 |
h j k l |
左/下/上/右移动 |
w |
跳到下一个单词开头 |
b |
跳到上一个单词开头 |
e |
跳到单词末尾 |
0 |
跳到行首 |
^ |
跳到行首非空字符 |
$ |
跳到行尾 |
gg |
跳到文件开头 |
G |
跳到文件末尾 |
50G |
跳转到第50行 |
高级跳跃
快捷键 |
功能描述 |
Ctrl+o |
返回上一个位置 |
Ctrl+i |
前进到下一个位置 |
% |
在匹配的括号间跳转 |
* |
跳转到下一个相同单词 |
# |
跳转到上一个相同单词 |
gd |
跳转到定义 |
✂️ 文本编辑
删除操作
快捷键 |
功能描述 |
x |
删除当前字符 |
dw |
删除至单词末尾 |
dd |
删除整行 |
D |
删除至行尾 |
dt" |
删除直到引号处 |
d5d |
删除5行 |
复制粘贴
快捷键 |
功能描述 |
yy |
复制整行 |
yw |
复制单词 |
p |
在光标后粘贴 |
P |
在光标前粘贴 |
"ayy |
复制到寄存器a |
撤销重做
快捷键 |
功能描述 |
u |
撤销上一次操作 |
Ctrl+r |
重做被撤销的操作 |
U |
整行撤销(还原当前行所有修改) |
:undolist |
查看撤销历史 |
:earlier 10m |
回到10分钟前的状态 |
:later 5 |
前进5个变更状态 |
:undo 5 |
撤销到历史树中第5个分支 |
g+ |
时间线向前移动 |
g- |
时间线向后移动 |
其他编辑
快捷键 |
功能描述 |
guu |
当前行全转小写 |
gUU |
当前行全转大写 |
g~ |
反转选区大小写 |
:m.+1 |
将当前行下移一行 |
. |
重复上次编辑操作 |
🎯 选择操作(可视模式)
进入选择模式
快捷键 |
选择范围 |
v |
字符级选择 |
V |
行级选择 |
Ctrl+v |
块状选择(列选择) |
gv |
重新选择上次选区 |
文本对象选择
组合键 |
功能描述 |
vaw |
选择当前单词(含空格) |
viw |
选择当前单词(不含空格) |
vab |
选择圆括号块 (content) |
vaB |
选择花括号块 {content} |
vit |
选择XML标签内容 <tag>内容</tag> |
Vap |
选择整个段落 |
vi' |
选择单引号内容 |
vi" |
选择双引号内容 |
选区操作命令
1 2 3 4 5 6 7 8 9 10
| # 在选区后直接输入操作命令: d # 删除选区 y # 复制选区 c # 修改选区(删除并进入插入模式) > # 向右缩进 < # 向左缩进 = # 自动缩进 ~ # 大小写转换 u # 转为小写(仅选区) U # 转为大写(仅选区)
|
🔍 搜索替换
快捷键 |
功能描述 |
/word |
向前搜索word |
?word |
向后搜索word |
n |
下一个匹配项 |
N |
上一个匹配项 |
:%s/old/new/g |
全局替换 |
:%s/old/new/gc |
带确认的全局替换 |
:s/old/new/ |
当前行替换 |
:s/old/new/g |
当前行全部替换 |
🪟 窗口管理
快捷键 |
功能描述 |
:sp |
水平分割窗口 |
:vsp |
垂直分割窗口 |
Ctrl+w w |
切换窗口 |
Ctrl+w h/j/k/l |
向左/下/上/右切换窗口 |
Ctrl+w + |
增加窗口高度 |
Ctrl+w - |
减少窗口高度 |
Ctrl+w q |
关闭当前窗口 |
Ctrl+w r |
旋转窗口位置 |
Ctrl+w T |
将窗口拆分为新标签页 |
gt / gT |
切换到下一个/上一个标签页 |
📚 高效技巧
宏录制
qa
- 开始录制宏到寄存器a
- 执行操作序列
q
- 停止录制
@a
- 执行宏
5@a
- 重复执行5次
文本对象操作
快捷键 |
功能描述 |
ciw |
更改当前单词 |
ci" |
更改引号内内容 |
da' |
删除单引号及其内容 |
yip |
复制整个段落 |
>iB |
缩进当前代码块 |
=ap |
自动格式化段落 |
批量操作
1 2 3 4
| 1. Ctrl+v 进入块选择模式 2. 选择多行区域 3. Shift+i 输入内容 4. ESC 应用到所有行
|
🔄 撤销+选择联合应用案例
错误删除恢复
- 误删文本 → 按
u
撤销
- 发现撤销过头 → 按
Ctrl+r
重做
选区批量修改
1 2 3 4 5 6
| Ctrl+v # 进入块选择 jjj # 向下选3行 I # 块插入 // # 输入注释符 ESC # 三行同时添加"//" u # 若出错立即撤销
|
复杂回退
- 修改了30行代码后发现问题
:undolist
查看历史节点
:undo 2
回到第2个历史状态
选区撤销技巧
- 选择多行按
=
自动缩进
- 结果不理想 → 保持选区状态按
u
(仅撤销选区内的操作!)
🌟 高级组合技
- 快速注释:
Ctrl+v
→ 选择行 → I
→ #
→ ESC
- 多行缩进:
V
→ 选择行 → >
/ <
- 重复操作:
.
(重复上次编辑操作)
- 文件内查找:
gd
(跳转到定义)
- 打开文件:
:e path/to/file
- 标签导航:
Ctrl+^
切换最近两个文件
💡 提示:在命令模式输入 :help key-notation
查看完整快捷键文档