四个核心模式
理解 Vim 的最好方式是把它看作一个 “状态机”。不同的模式下,同一个按键的功能完全不同。这就好比汽车的档位:D挡踩油门是走,R挡踩油门是倒退。
核心概念
Vim 启动时默认处于 普通模式。无论你迷失在哪个模式,狂按几下 Esc 键,总能带你回家(回到普通模式)。
1. 普通模式 (Normal Mode) - 🕹️ 指挥官
这是 Vim 的默认模式,也是你大部分时间应该待的地方。 在此模式下,键盘是你的控制台,按键用于移动光标和操作文本。
- 基础移动:
h(左)j(下)k(上)l(右) —— 试着把手放在右手基准键位上感受一下。gg:飞到文件最开头。G:飞到文件最末尾。
- 常用操作:
x:删除光标下的一个字符。u:撤销上一步操作 (Undo)。Ctrl + r:重做 (Redo)。dd:删除(剪切)当前行。yy:复制当前行。p:在光标之后粘贴 (Paste)。P:在光标之前粘贴。
2. 插入模式 (Insert Mode) - 📝 打字员
这是唯一一个让你像在记事本(Notepad)里那样打字的模式。
- 进入方式(不仅是 i):
i(insert):在光标前开始输入。a(append):在光标后开始输入。I:在行首开始输入(非常常用)。A:在行尾开始输入(写代码加分号神器)。o(open):在当前行下方新开一行。O:在当前行上方新开一行。
- 如何退出:
- 按
Esc键(这是 Vim 中最高频的操作之一)。
- 按
3. 可视模式 (Visual Mode) - ✨ 选择器
用于高亮选择一块文本,然后对选中的内容进行操作(删除、复制、缩进等)。
- 三种选择方式:
v(小写):字符选择。像鼠标拖拽一样选择连续的字符。V(大写):行选择。一次选中一整行。Ctrl + v:块选择。这是 Vim 的杀手锏,可以纵向选择(列编辑)。
- 选中后能干嘛?
d:删除选中的内容。y:复制选中的内容。>/<:增加/减少缩进(写代码时调整格式)。
4. 命令行模式 (Command-line Mode) - 🤖 系统指令
用于告诉编辑器执行文件级别的操作。
- 如何进入:
- 普通模式下输入
:(冒号) 或/(搜索)。
- 普通模式下输入
- 实用指令:
/keywords:全文搜索 "keywords",按n找下一个,N找上一个。:%s/old/new/g:将全文的 "old" 替换为 "new"(如果不加%则只替换当前行)。:set nu:显示行号。
⚡️ 必会连招 (Killer Combos)
掌握这些组合,你的效率将瞬间超越鼠标党:
ggdG—— 清空全文gg(跳到开头) +d(删除) +G(直到末尾)。- 场景:清空配置文件重新写。
gg=G—— 全文自动格式化=是格式化代码的命令,配合gg和G覆盖全文。- 场景:复制粘贴进来的代码缩进乱了?一键修复!
ci"—— 修改引号内的内容c(change) +i(inner) +"(引号)。- 场景:快速修改字符串内容,如
const name = "old_name"。
🆘 救命手册:如何保存退出?
记住这几个最常用的组合(在普通模式下输入):
| 命令 | 含义 | 助记 |
|---|---|---|
:w | 仅保存 | Write |
:q | 仅退出 | Quit |
:wq | 保存并退出 | Write and Quit |
:q! | 强制退出(不保存) | Quit ! (Warning) |
小技巧
你也可以在普通模式下直接输入 ZZ (大写),它等同于 :wq,按起来更快!
