..

重学 VIM 1

想来从12年开始学习使用 VIM 到现在已经近10年了,自觉在用的非常浅显。在 Neovim 发布0.5.0后原生支持了 LSP ,又燃起了学习和使用 VIM 的激情。这篇博客记录了重新学习 VIM 的一些笔记。

精准跳转

VIM 提供了基本移动例如 HJKLCtrl+U/D,但如果你知道你要跳转的地方,使用精准跳转可以更快的移动到目标位置。

  • 5G: 跳转到第5行
  • fx: 跳转到下一个字母x
  • Fx: 跳转到上一个字母x
  • tx: 跳转到下一个字母x前
  • Tx: 跳转到上一个字母x前
  • }: 跳转到下一个章节
  • {: 跳转到上一个章节

编辑

之前的编辑是进入 Visual Mode 然后选定文字删除后再输入,VIM 提供了快捷键 c

  • cc: 删除整行后输入
  • C: 删除光标到行尾后输入
  • ciw: 删除字段(word)后输入
  • cw: 删除光标后字段(word)尾后输入

使用 VIM 时要善于将一个大任务拆分成一个个重复的子任务,然后使用宏重复的解决子任务。

举个例子,从 Excel 里拷贝了 1000 行字符串,需要给每个字符串都添加双引号。子任务就是给单个字符串添加双引号,那么需要的按键为

  1. qa # 开始录制宏a
  2. 0 # 到行首
  3. i # 进入 INSERT MODE
  4. ” # 输入 “
  5. # 退出 INSERT MODE
  6. $ # 到行尾
  7. a # 进入 INSERT MODE
  8. ” # 输入 “
  9. # 退出 INSERT MODE
  10. j # 进入下一行
  11. q # 结束录制
  12. 999@a # 宏a重复999次