Frank the Obscure 无名的弗兰克

Vim: 漫漫长路继续走

2016-07-17

前文提到我开始使用 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-osxfcitx-vim-osx 在回到正常模式时, 自动关闭中文输入法. (不过这样似乎还有问题, 因为反复进入中文输入模式同样有损失, 如果能识别 IM 的中英文模式, 不退出输入法可能是最好的方案.) 1

  1. 另外的解决方案包括用 karabiner 在切换模式同时自动切换中英输入状态; 或者用鼠须管似乎可以实现 Vim 内的自动切换; 另一个解决方案是使用 VimIM - Vim Input Method – Vim 中文输入法 : vim online 


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

Comments