Vim学习教程
通过定时推送、渐进式课程和场景化教学的方式系统学习 Vim 操作技巧。
概述
Vim 学习教程是 dora-kids Agent 提供的定时教学功能之一。最初采用简单的”Vim Minute”方式,每天随机推送一个 Vim 技巧并附带选择题测验。后来经过多次反思和迭代,演变为更系统化的渐进式学习方案。
教学方法经历了从”碎片随机推送”到”每日一招(Sniper Protocol)“再到”技能树(Skill Tree)“的演进。最终方案采用连贯的课程体系,按 Level 1(基础移动 hjkl)→ Level 2(词跳 w/b)→ Level 3(操作+移动 cw)→ Level 4(文本对象 ci”)的顺序教学,每一级必须确认掌握后才能进入下一级。
在用户反馈”太简单”后,系统会自动调升难度,引入中高级技巧如 ci"(Change inside quotes)、Ctrl-v(Visual Block)、%s/old/new/g(全局替换)等。同时强调场景化教学——不只是告诉命令,而是给出具体使用场景。
关键点
- 渐进式课程体系: 从 hjkl 基础到 ci” 高级文本对象,按技能树结构推进
- 场景化教学: 每个技巧都配有真实使用场景描述,如”当你看到
const a = "old_value"想改时,用ci"” - 不烦人原则: 早上推一次,晚上追踪使用情况,未用则继续推同一个直到使用
- 互动测验: 每次推送附带选择题,通过问答巩固记忆
- 自适应难度: 根据用户反馈动态调整内容难度
- 学习状态记录: 通过
tips.json和curriculum.json追踪已学和未学内容
技术细节
课程结构(Skill Tree)
{
"Level 1": "Basic Move (hjkl)",
"Level 2": "Word Jump (w/b) — 因为 hjkl 太慢",
"Level 3": "Action + Motion (cw) — 组合 c(Change) + w(Word)",
"Level 4": "Text Objects (ci\") — cw 的终极形态"
}已教授的核心技巧
| 技巧 | 功能 | 场景 |
|---|---|---|
/pattern | 向前搜索 | 查找错误信息 |
?pattern | 向后搜索 | 从文件底部往上找 |
n / N | 下一个/上一个匹配 | 遍历搜索结果 |
:s/old/new | 当前行替换 | 修改单行内容 |
5j / 10k | 多行跳转 | 快速定位 |
Ctrl+d / Ctrl+u | 半页滚动 | 快速浏览 |
ci" | 修改引号内内容 | 改字符串值 |
Ctrl+v | Visual Block | 批量添加注释前缀 |
推送机制
- 检查频率提高到每小时一次(如1小时内没学过就推)
- 随机抽取未学过的技巧,学完一轮后自动重置
- 通过 Heartbeat 定时任务触发
时间线
- 2026-03-04 20:00: 首次 Vim Minute 推送(
/pattern搜索) - 2026-03-05 10:03: 教授
?pattern向后搜索 - 2026-03-07 22:02: Vim Pop Quiz 互动测验
- 2026-03-08 23:19: 频率提升+内容扩充,新建
tips.json - 2026-03-08 23:24: 重构为 Skill Tree 渐进式课程体系
- 2026-03-09 12:23: 使用 pm2 守护 Memory Lane,推送 Vim Move
- 2026-03-11 13:11: 用户反馈太简单,升级到
ci"高级技巧 - 2026-03-12 10:07: 推送
Ctrl+vVisual Block Mode