Appearance
从鼠标到键盘的完整迁移路线
系统性地将你的工作流从鼠标驱动迁移到键盘驱动。
迁移阶段
第一阶段:基础移动(第 1-2 周)
目标:掌握基本光标移动,减少方向键使用
必学操作
| 操作 | 按键 | 替代 |
|---|---|---|
| 上下左右 | h j k l | 方向键 |
| 词移动 | w b e | Ctrl+方向键 |
| 行首行尾 | 0 $ | Home End |
| 文件首尾 | gg G | Ctrl+Home/End |
练习方法
禁用方向键:
json{ "vim.normalModeKeyBindings": [ { "before": ["<up>"], "after": [] }, { "before": ["<down>"], "after": [] }, { "before": ["<left>"], "after": [] }, { "before": ["<right>"], "after": [] } ] }每日练习:
- 在任何文件中用
hjkl移动 - 目标:完全不看键盘
- 在任何文件中用
里程碑
- [ ] 能够流畅使用
hjkl移动 - [ ] 熟练使用
w b e按词移动 - [ ] 不再伸手按方向键
第二阶段:基础编辑(第 3-4 周)
目标:掌握插入和删除操作
必学操作
| 操作 | 按键 | 说明 |
|---|---|---|
| 进入插入模式 | i a o O | 不同位置插入 |
| 删除 | x dd dw | 删除字符/行/词 |
| 复制粘贴 | yy p P | 复制行/粘贴 |
| 撤销重做 | u Ctrl+r | 撤销/重做 |
练习方法
强制使用 Vim 方式:
- 想删除时用
x或dd - 想复制时用
yy或yw
- 想删除时用
编写代码时:
o新建下一行并进入插入模式A跳到行尾并插入
里程碑
- [ ] 能够使用
i a o O在正确位置插入 - [ ] 熟练使用
dd yy p进行行操作 - [ ] 编辑时不再需要鼠标定位
第三阶段:文本对象(第 5-6 周)
目标:掌握 Vim 文本对象,高效编辑
必学操作
| 操作 | 按键 | 说明 |
|---|---|---|
| 词内 | ciw diw yiw | 操作整个词 |
| 引号内 | ci" di" yi" | 操作引号内 |
| 括号内 | ci( di( yi( | 操作括号内 |
| 标签内 | cit dit yit | 操作标签内 |
练习方法
刻意练习:
- 在函数参数上练习
ci( - 在字符串上练习
ci" - 在 HTML 上练习
cit
- 在函数参数上练习
替换原有习惯:
- 双击选中 →
viw - 拖动选中 →
v+ 移动
- 双击选中 →
里程碑
- [ ] 条件反射式使用
ci"ci(等 - [ ] 能够组合操作符和文本对象
- [ ] 编辑速度明显提升
第四阶段:搜索与跳转(第 7-8 周)
目标:掌握快速导航
必学操作
| 操作 | 按键 | 说明 |
|---|---|---|
| 搜索 | / ? n N | 前向/后向搜索 |
| 字符跳转 | f t F T | 跳转到字符 |
| 词搜索 | * # | 搜索当前词 |
| 定义跳转 | gd gr | 代码导航 |
练习方法
替换 Ctrl+F:
- 使用
/pattern搜索 - 使用
n N导航结果
- 使用
替换鼠标点击:
- 用
f;跳转到分号 - 用
t)跳转到括号前
- 用
里程碑
- [ ] 搜索时使用
/而不是 Ctrl+F - [ ] 熟练使用
f t行内跳转 - [ ] 能够使用
gd跳转定义
第五阶段:分屏与窗口(第 9-10 周)
目标:键盘管理窗口布局
必学操作
| 操作 | 按键 | 说明 |
|---|---|---|
| 垂直分屏 | <leader>v | 分屏编辑 |
| 分屏导航 | Ctrl+h/j/k/l | 切换分屏 |
| 关闭窗口 | <leader>q | 关闭当前 |
| Buffer 切换 | H L | 前后文件 |
练习方法
分屏工作:
- 打开相关文件在分屏中
- 练习
Ctrl+h/j/k/l切换
多文件编辑:
- 用
H L切换 buffer
- 用
里程碑
- [ ] 能够纯键盘管理分屏
- [ ] 熟练切换多个打开的文件
- [ ] 不再用鼠标点击标签页
第六阶段:高级功能(第 11-12 周)
目标:掌握宏、多光标等高级功能
必学操作
| 操作 | 按键 | 说明 |
|---|---|---|
| 宏录制 | qa ... q @a | 录制回放 |
| 多光标 | gb | 添加光标 |
| 可视块 | Ctrl+v | 块操作 |
| 点命令 | . | 重复操作 |
练习方法
宏练习:
- 简单任务:添加分号到每行末尾
- 复杂任务:重构多个相似函数
多光标练习:
- 批量修改变量名
- 批量添加引号
里程碑
- [ ] 能够录制和使用简单宏
- [ ] 熟练使用
gb添加多光标 - [ ] 使用
.重复常见操作
每周练习计划
第 1 周:基础移动
| 日 | 练习内容 | 时长 |
|---|---|---|
| 1 | 学习 hjkl | 15 分钟 |
| 2 | 练习 hjkl | 30 分钟 |
| 3 | 学习 w b e | 15 分钟 |
| 4 | 练习 w b e | 30 分钟 |
| 5 | 学习 0 $ ^ | 15 分钟 |
| 6-7 | 综合练习 | 各 30 分钟 |
每日习惯
- 开始工作前:5 分钟 Vim 练习
- 工作中:强制使用已学快捷键
- 结束时:回顾今天用了多少次鼠标
进度追踪
周检查清单
第 N 周结束时检查:
- [ ] 本周目标操作是否掌握
- [ ] 鼠标使用频率是否降低
- [ ] 是否遇到效率瓶颈
- [ ] 下周学习计划是否明确
月度评估
每月评估:
- 编辑效率提升百分比
- 鼠标使用减少百分比
- 最常用的 10 个快捷键
- 需要加强的领域
常见困难与解决
1. 忘记快捷键
解决:
- 打印速查表贴在显示器旁
- 使用 which-key 提示插件
- 每天复习 5 个快捷键
2. 速度不如鼠标
解决:
- 正常!初期速度下降是必经阶段
- 坚持 2 周后会明显提升
- 不要在紧急任务时强行使用
3. 配置复杂
解决:
- 使用本书提供的配置模板
- 逐步添加配置,不要一次性复制大量配置
- 理解每个配置的作用
4. 与 VSCode 原生冲突
解决:
- 使用
handleKeys配置 - 查阅本书键位冲突章节
- 选择性禁用冲突键位
最终目标
12 周后你应该能够:
- ✅ 完全不使用方向键
- ✅ 编辑代码时不触碰鼠标
- ✅ 使用 Vim 方式完成所有文本操作
- ✅ 熟练使用分屏和窗口管理
- ✅ 能够录制和使用宏
- ✅ 感受到明显的效率提升
总结
迁移路线图:
- 基础移动:
hjkl,词和行移动 - 基础编辑:插入、删除、复制粘贴
- 文本对象:
ci"di(等 - 搜索跳转:
/fgd - 窗口管理:分屏、Buffer
- 高级功能:宏、多光标
关键:循序渐进,持之以恒。
下一步:了解常见错误与效率陷阱。