Vim 高效操作快捷键手册:超越基础编辑
专注移动效率与语义级编辑操作,适用于中高级 Vim 用户。
一、精准光标跳跃
| 快捷键 |
描述 |
示例场景(⎸ 表示光标位置) |
w |
跳到下一个单词开头 |
Hello⎸ world → Hello w⎸orld |
b |
跳到上一个单词开头 |
Hello wo⎸rld → Hello ⎸world |
e |
跳到当前单词结尾 |
Hello w⎸or → Hello wor⎸d |
ge |
跳到上一个单词结尾 |
Hello wor⎸ld → Hello worl⎸d |
f{char} |
行内正向查找字符 |
print(⎸x) → f) → print(x)⎸ |
F{char} |
行内反向查找字符 |
print⎸x) → F( → print(⎸x) |
t{char} |
跳到字符前一个位置 |
a=10⎸; → t; → a=10⎸; |
% |
匹配括号间跳跃 |
if (x>0) {⎸...} → 匹配的 } 处 |
* |
跳转到相同单词 |
在 calculate 上按 * 跳转到下个匹配 |
二、文本对象操作
黄金组合:[operator] + [text-object](d = 删除,c = 修改,y = 复制,v = 选中)
1. 核心文本对象
| 对象 |
范围 |
操作示例 |
iw |
内词 |
(bar⎸) → ciw 修改括号内词 |
aw |
全词 |
⎸bar → daw 删除词及空格 |
i" |
双引号内 |
"⎸Hello" → ci" 修改字符串 |
a' |
单引号整体 |
'⎸John' → da' 删除引号内容 |
i( |
圆括号内 |
sum(⎸x,y) → ci( 修改参数 |
a[ |
方括号整体 |
arr[⎸0] → da[ 删除表达式 |
it |
XML 标签内容 |
<div>⎸Text</div> → cit |
2. 高频组合技
| 命令 |
效果 |
执行后变化 |
ciw |
修改当前单词 |
int ⎸num; → 输入 count |
caw |
修改整个单词 |
同上,更稳健的边界处理 |
das |
删除当前句子 |
删除光标所在的句子 |
yap |
复制整个段落 |
复制光标所在的段落 |
va{ |
选中 {} 块(含括号) |
可视化选择代码块 |
vi} |
选中 {} 内容(不含括号) |
选择代码块内部内容 |
三、高效编辑命令
| 快捷键 |
描述 |
使用场景 |
dt{char} |
删除直到字符 |
name=⎸ "Tom" → dt" → name= "⎸" |
ct} |
修改直到右大括号 |
快速修改代码块末尾内容 |
. |
重复上一个操作 |
连续修改同类元素 |
gv |
重选上次选区 |
重复操作选区内容 |
>ap |
缩进整个段落 |
快速调整代码缩进 |
g; |
跳转到最近编辑位置 |
在修改点之间快速跳转 |
四、窗口与文件导航
| 快捷键 |
描述 |
<C-w>h/j/k/l |
窗口间方向导航 |
<C-w>w |
循环切换窗口 |
<C-w>v |
垂直分割窗口 |
<C-w>s |
水平分割窗口 |
<C-w>o |
关闭其他窗口 |
:e path/file |
在新缓冲区打开文件 |
<C-^> |
切换最近两个文件 |