前文提到我开始使用 Vim 了, 也用它写了上千行代码和文档. 最近学习了 Practical Vim, 感觉打开了一个新世界. 赶紧写下一些自己的笔记.
”.” 范式
Practical Vim 中第一个, 也是最重要的技巧之一, 就是 “.” 范式. 通过重复解决问题, 相当优雅.
一键移动, 一键修改. 简洁有力.
模式
- 普通模式是最重要的模式, 不必长期处于插入模式. 即使连续输入也有必要经常回普通模式, 提供撤回断点.
- 插入模式下的
<C-h>,<C-w>,<C-u>可在不挪手的前提下进行删除, 值得记忆. - 可视模式也可用
V进入V-line模式. 选整行的操作更简单.
更多的命令
f{char},t{char},w/e/b都是很常用的移动光标命令.- 文本对象(text object)只需要按两个键(如
iw,ab), 提供了大量选择文本的方式. - 前两者结合
cdy等命令, 只需要三次按键, 就有相当强大的功能.- 如
dt.(删除到.);yi](yank 中括号内的文本)
- 如
c(change) 相当于d+i/a, 也是很常用的进入插入模式的方式.
一些插件
- Surround.vim 给出了一个优雅的增减括号的模式.
- fcitx-remote-for-osx 和 fcitx-vim-osx 在回到正常模式时, 自动关闭中文输入法. (不过这样似乎还有问题, 因为反复进入中文输入模式同样有损失, 如果能识别 IM 的中英文模式, 不退出输入法可能是最好的方案.) 1
-
另外的解决方案包括用 karabiner 在切换模式同时自动切换中英输入状态; 或者用鼠须管似乎可以实现 Vim 内的自动切换; 另一个解决方案是使用 VimIM - Vim Input Method – Vim 中文输入法 : vim online ↩

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.