Vim 修炼场
CHAPTER 00 · 使用指南

开始之前:怎么用这本教程

预计阅读 8 分钟 · 前置:无 · 本章演示 1 个

学习目标

  • 会用演示播放器:播放、暂停、单步、调速、键盘控制
  • 会用进度系统:章末勾「已读」,首页看总进度,断点续学
  • 掌握本教程的学习方法:每天 5 个新键 + 靶场 + 真实代码,不背键位表
  • 预习贯穿全书的世界观:Vim 是一门「动词 + 名词」的编辑语言
  • 看懂路线图与写作约定,知道每章的固定结构怎么配合你的阅读节奏

1. 这本教程的用法(5 分钟版)

整个站点是纯静态网页:双击 index.html 就能离线阅读,不需要联网、不需要装任何东西。顶栏可以切换浅色(羊皮纸)/ 深色(终端黑)双主题,选择会被记住;宽屏时左侧有本章目录,点标题直达对应小节。

每一章的结构完全固定,你可以把它当成一种「训练流程」:

段落内容建议怎么用
学习目标本章结束时你会获得什么先扫一眼,带着问题往下读
正文 + 动画按键表 + 回放演示 + 决策方法读到演示就动手单步,别只看自动播放
练习≥3 题,答案默认折叠先自己做,再展开对答案
常见陷阱新手真实踩过的坑中招了再回来看也不迟
IDE 差异VSCode / IDEA 两栏对照只看你用的那个 IDE 也行
本章速记一页按键表 + 一句话心法第二天复习的入口

章末有「标记本章已读」按钮,勾掉后首页的进度条会前进——这是给「隔天续学」用的路标:每次打开站点,从第一个没勾的章节继续就行。

2. 播放器:你的慢动作教练

全书所有动画都由同一个播放器渲染,长得像一个小终端。它有五个区,从上到下:标题与控制条、代码区(光标所在处会闪烁)、状态栏(当前模式 + 待决按键)、按键流(依次点亮的键帽)、解说(当前这一步在干什么)。

控制条的每个按钮(以及对应的键盘操作——先用鼠标点一下播放器任意位置让它获得焦点):

操作按钮键盘什么时候用
播放 / 暂停▶ / ⏸空格默认连播;想停下来想一想就暂停
单步前进 / 后退⏭ / ⏮→ / ←最重要的用法:一个键一个键地看状态变化
回到开头⟲—没看清就重来,不要吝啬
调速1× / 2× / ½×—熟练后 2× 快进,陌生键 ½× 慢放

两个细节:① 演示滚动到视口内会自动播放一遍,之后不再打扰你;② 代码区永远深色、可以选中复制——想把演示里的代码粘到自己的靶场里练?直接划选。

💡 心法 看动画的正确姿势不是「等它播完」,而是:先按空格暂停,猜下一个键是什么,再按 ⏭ 验证。猜对了才说明你真的在学,而不是看视频。

3. 学习方法:肌肉记忆不是背出来的

Vim 是肌肉记忆,不是知识。读懂一章只需要十分钟,但「手指先于意识按出 daw」需要重复。所以本教程的进度单位不是「读完」,而是「练会」。

方法论就三条铁律,全部围绕「少量、当天、重复」:

  1. 每天最多 5 个新键,配 20 分钟专门练习。贪多的结局是全部还回去;
  2. 当天在靶场做 10 遍:建一个 vim-practice.txt,粘几十行任意代码,新键在上面砸 10 次。靶场不怕砸错,真实代码怕;
  3. 第二天先复习昨天的键,再学新的。间隔重复是肌肉记忆的唯一捷径,没有例外。
阶段体感该做什么
第 1–3 天又慢又别扭,比用鼠标还慢,想放弃正常。只要求「按对」,不要求「按快」
第 4–10 天常用键不用想了,偶尔还要瞟速记表坚持每天 5 个新键,开始允许自己在真实代码里用
第 2–3 周手指开始「自己动」,反而说不清按了什么肌肉记忆上身的标志,加大真实代码占比
1 个月后回不去方向键了毕业标准达成

至于网上流传的键位速查表:查表学不会 Vim。表是给已经会的人省时间的,不是给不会的人入门的。本教程的附录 A 也有一张,但它出现在最后,而不是最前——顺序本身就是方法论。

4. 全书世界观:Vim 是一门编辑语言

先剧透全书最重要的一件事。Vim 的按键不是一堆孤立快捷键,而是一门微型语言的单词,拼起来才是句子:

d动词 · 删 + w名词 · 一个词 = dw ——「删掉一个单词」
c动词 · 改 + iw名词 · 光标所在的词 = ciw ——「改掉这个词」,删掉并等你输入

「动词 + 名词」意味着:每学一个新名词,你所有的动词都自动多了一个搭配。名词学得越多,句子按指数增长——这是 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 遍,再带进真实代码。

常见陷阱

🕳 收藏夹吃灰症 收藏了教程 = 学会了,是当代最大的自我欺骗。解药:现在就做上面的练习 3,把靶场建出来——物理世界的一个 txt 文件,比任何收藏夹都诚实。
🕳 一天想学一章 知识上你读得懂,手上完全跟不上,三天后热情和键位一起清零。本书 13 章是按至少三周的节奏设计的:每天 5 个新键 + 20 分钟,慢就是快。
🕳 跳级看高级货 直接翻到宏、块编辑那些「看起来最帅」的章节,结果每一步都卡在基础键上,只会挫败。宏的全部乐趣建立在移动和文本对象的条件反射上——按路线图走。

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 遍

一句话心法:别只读,去按;别贪多,每天五个。