前文提到我开始使用 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
), 提供了大量选择文本的方式. - 前两者结合
c
d
y
等命令, 只需要三次按键, 就有相当强大的功能.- 如
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.