VSCode 中的 Vim 模式核心是意图驱动与模式切换,Normal 模式为操作中心,Visual 模式实现精准选择,Ex 命令支持批量处理,高效源于理解何时用何模式及命令,而非死记硬背。

VSCode 中的 Vim 模式不是“加个插件就变高手”,而是把编辑逻辑从“鼠标点+键盘敲”切换成“意图驱动+模式切换”。真正高效的人,不是记住了所有 Vim 命令,而是清楚什么时候该用什么模式、哪条命令最贴合当前任务。
Normal 模式才是 Vim 的心脏
很多人装了 Vim 插件却卡在 Insert 模式里——一直按 i、i、i,忘了 ESC 是回家的门。Normal 模式下,光标不输入文字,只执行操作:移动(h/j/k/l)、删除(d)、复制(y)、跳转(gg/G/%)、查找(/)、重复(.)……这些动作组合起来,比鼠标拖选+Ctrl+C/V 快得多,尤其处理重复结构或批量修改时。
- 按 ESC 或 Ctrl+[ 确保随时退回 Normal 模式
- 用 f + 字符 快速跳到行内某个字母,比方向键快 3 倍
- ci"(change inside quotes)直接改引号内内容,不用手动选中
Visual 模式是精准控制的关键
不是所有选择都靠鼠标。Visual 模式(v / V / Ctrl+v)让你用 Vim 逻辑“框选”:字符级(v)、行级(V)、列块级(Ctrl+v)。选中后,一个 d 删除、y 复制、> 缩进、:s 替换,全部作用于所选范围。
- V 进入行视觉模式,连按 j/k 可快速选多行
- Ctrl+v 列选择,适合对齐修改、批量加前缀(如 // 注释)
- 选中后输 :s/old/new/g,只替换选中区域,安全又精准
Ex 命令让批量操作一步到位
按 : 进入命令行,输入类似 Vim 的 Ex 命令。它不像 GUI 点击那样“做一次”,而是“定义规则+执行一次”,特别适合跨文件、跨范围操作。
- :s/const/let/g 替换当前行所有 const 为 let
- :%s/console\.log//g 清空整个文件的 console.log
- :nohl 关掉搜索高亮,避免干扰视线
别硬背,从三个高频动作开始
新手最容易放弃,是因为一上来就想练完所有命令。其实日常编码 80% 的效率提升来自三个动作:
- 跳转:用 gg(开头)、G(结尾)、%(匹配括号)、gd(跳到定义)代替滚动和鼠标找
- 删除/变更:用 ciw(change inner word)改变量名,cit(change inner tag)改 HTML 标签内容
- 重复:用 . 重做上一个编辑动作,比如连续删几行末尾逗号,只需 dd → . → . → .
基本上就这些。Vim 模式不是炫技,是把注意力从“怎么按”转移到“我想干什么”。用熟之后,手不离主键盘区,眼睛不离开代码,节奏自然就快了。










