开始之前:怎么用这本教程
学习目标
- 会用演示播放器:播放、暂停、单步、调速、键盘控制
- 会用进度系统:章末勾「已读」,首页看总进度,断点续学
- 掌握本教程的学习方法:每天 5 个新键 + 靶场 + 真实代码,不背键位表
- 预习贯穿全书的世界观:Vim 是一门「动词 + 名词」的编辑语言
- 看懂路线图与写作约定,知道每章的固定结构怎么配合你的阅读节奏
1. 这本教程的用法(5 分钟版)
整个站点是纯静态网页:双击 index.html 就能离线阅读,不需要联网、不需要装任何东西。顶栏可以切换浅色(羊皮纸)/ 深色(终端黑)双主题,选择会被记住;宽屏时左侧有本章目录,点标题直达对应小节。
每一章的结构完全固定,你可以把它当成一种「训练流程」:
| 段落 | 内容 | 建议怎么用 |
|---|---|---|
| 学习目标 | 本章结束时你会获得什么 | 先扫一眼,带着问题往下读 |
| 正文 + 动画 | 按键表 + 回放演示 + 决策方法 | 读到演示就动手单步,别只看自动播放 |
| 练习 | ≥3 题,答案默认折叠 | 先自己做,再展开对答案 |
| 常见陷阱 | 新手真实踩过的坑 | 中招了再回来看也不迟 |
| IDE 差异 | VSCode / IDEA 两栏对照 | 只看你用的那个 IDE 也行 |
| 本章速记 | 一页按键表 + 一句话心法 | 第二天复习的入口 |
章末有「标记本章已读」按钮,勾掉后首页的进度条会前进——这是给「隔天续学」用的路标:每次打开站点,从第一个没勾的章节继续就行。
2. 播放器:你的慢动作教练
全书所有动画都由同一个播放器渲染,长得像一个小终端。它有五个区,从上到下:标题与控制条、代码区(光标所在处会闪烁)、状态栏(当前模式 + 待决按键)、按键流(依次点亮的键帽)、解说(当前这一步在干什么)。
控制条的每个按钮(以及对应的键盘操作——先用鼠标点一下播放器任意位置让它获得焦点):
| 操作 | 按钮 | 键盘 | 什么时候用 |
|---|---|---|---|
| 播放 / 暂停 | ▶ / ⏸ | 空格 | 默认连播;想停下来想一想就暂停 |
| 单步前进 / 后退 | ⏭ / ⏮ | → / ← | 最重要的用法:一个键一个键地看状态变化 |
| 回到开头 | ⟲ | — | 没看清就重来,不要吝啬 |
| 调速 | 1× / 2× / ½× | — | 熟练后 2× 快进,陌生键 ½× 慢放 |
两个细节:① 演示滚动到视口内会自动播放一遍,之后不再打扰你;② 代码区永远深色、可以选中复制——想把演示里的代码粘到自己的靶场里练?直接划选。
3. 学习方法:肌肉记忆不是背出来的
Vim 是肌肉记忆,不是知识。读懂一章只需要十分钟,但「手指先于意识按出 daw」需要重复。所以本教程的进度单位不是「读完」,而是「练会」。
方法论就三条铁律,全部围绕「少量、当天、重复」:
- 每天最多 5 个新键,配 20 分钟专门练习。贪多的结局是全部还回去;
- 当天在靶场做 10 遍:建一个
vim-practice.txt,粘几十行任意代码,新键在上面砸 10 次。靶场不怕砸错,真实代码怕; - 第二天先复习昨天的键,再学新的。间隔重复是肌肉记忆的唯一捷径,没有例外。
| 阶段 | 体感 | 该做什么 |
|---|---|---|
| 第 1–3 天 | 又慢又别扭,比用鼠标还慢,想放弃 | 正常。只要求「按对」,不要求「按快」 |
| 第 4–10 天 | 常用键不用想了,偶尔还要瞟速记表 | 坚持每天 5 个新键,开始允许自己在真实代码里用 |
| 第 2–3 周 | 手指开始「自己动」,反而说不清按了什么 | 肌肉记忆上身的标志,加大真实代码占比 |
| 1 个月后 | 回不去方向键了 | 毕业标准达成 |
至于网上流传的键位速查表:查表学不会 Vim。表是给已经会的人省时间的,不是给不会的人入门的。本教程的附录 A 也有一张,但它出现在最后,而不是最前——顺序本身就是方法论。
4. 全书世界观:Vim 是一门编辑语言
先剧透全书最重要的一件事。Vim 的按键不是一堆孤立快捷键,而是一门微型语言的单词,拼起来才是句子:
「动词 + 名词」意味着:每学一个新名词,你所有的动词都自动多了一个搭配。名词学得越多,句子按指数增长——这是 Vim 越用越快的根本原因,也是本教程把「文本对象」(第 4 章)和「编辑动词」(第 5 章)安排成核心两章的原因。现在看不懂 ciw 完全没关系,第 1 章结束后你会先拿到最小生存集。
5. 路线图:五个阶段,各解决一个痛点
| 阶段 | 章节 | 解决什么痛点 | 里程碑 |
|---|---|---|---|
| ① 生存 | ch01 | 「装了插件不敢用,怕把自己锁在文件里」 | 能进出模式、能删能撤销、能保存 |
| ② 移动 | ch02–ch03 | 「光标太慢,手老往方向键跑」 | 行内行间全键盘跳跃 |
| ③ 语法 | ch04–ch06 | 「会移动了,但编辑还是一个个字符抠」 | 按「词 / 括号 / 引号」的粒度编辑 |
| ④ 进阶 | ch07–ch11 | 「重复劳动太多,复制粘贴到手酸」 | 选择、替换、寄存器、宏批量干活 |
| ⑤ 集成实战 | ch12–ch13 | 「Vim 和 IDE 打架,不知道听谁的」 | 键位分工明确,12 个真实场景毕业 |
不要跳级:每个阶段都以下一个阶段为地基。如果某天时间不够,宁可把当天 5 个键练熟,也别往前赶章节。
6. 写作约定:认识的符号
- d 这样的键帽表示「按这个键」;dd 表示连续按两下;
:w这样的代码样式表示命令行命令(先按 : 再输入,回车执行);- 待决状态:按下 d 后 Vim 在等你给目标,此时状态栏右下会显示
d——动画里精确还原了这个细节; - 术语全书统一:动词(operator,如 d/c/y)、名词(motion / 文本对象)、寄存器(ch09)、宏(ch10)。
准备好了?翻到第 1 章,今天就能在 VSCode / IDEA 里活下来。
练习
练习 1:单步看完本章演示(2 分钟)
回到上面的播放器:先点一下它获得焦点,按空格暂停,然后用 → 一步一步走完。要求每一步都能说出三件事:按了什么键、模式栏显示什么、buffer 哪一行变了。说不出来就 ← 退回去再看一遍。
练习 2:配置你的阅读环境(1 分钟)
① 点顶栏按钮切换到你要的主题;② 滚回本章末尾,点「标记本章已读」;③ 回到首页看进度条变成 1 / 14。以后每天打开站点,从第一个没勾的章继续——这就是断点续学。
练习 3:建立你的靶场文件(每天开工第一件事)
新建 vim-practice.txt(VSCode 的 Scratch 文件也行),从任意项目里粘 30–50 行代码进去,存在固定位置(比如 ~/vim-practice.txt)。从明天起,每天开工先打开它热身 5 分钟。规则只有一条:新键先在靶场砸 10 遍,再带进真实代码。
常见陷阱
VSCode / IDEA 差异
VSCode(VSCodeVim)
- 建议开一个独立的 VSCode 窗口专放靶场文件,教程读到哪、练到哪,不污染工作项目
- 还没装插件?第 1 章 §2 有三步安装与最小配置,跟练动画本身不需要插件
- 每章末的「IDE 差异」栏,VSCode 列提到的设置都能在 Cmd, 里搜到
IntelliJ IDEA(IdeaVim)
- 同样建议用独立项目或 Scratch 文件当靶场(CmdShiftn 新建 Scratch)
- IdeaVim 的安装在 第 1 章 §2.2,配置文件是
~/.ideavimrc,改完可热加载 - 两个 IDE 都装也完全没问题,跟练时固定用一个,减少变量
本章速记
| 要做的 | 怎么做 | 要做的 | 怎么做 |
|---|---|---|---|
| 看演示 | 空格暂停 + ⏭ 单步,猜下一个键 | 记进度 | 章末勾「已读」 |
| 调速 | 右侧 1× / 2× / ½× | 续学 | 首页进度条,第一个没勾的章 |
| 建靶场 | ~/vim-practice.txt 粘几十行代码 | 学新键 | 每天 ≤5 个,当天 10 遍 |
一句话心法:别只读,去按;别贪多,每天五个。