光标移动

  • fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。
  • tx:和上面的命令类似,但是是移动到 x 的左边一个位置。
  • Fx:和 fx 类似,不过是往回找。
  • w:光标往前移动一个词。
  • b:光标往后移动一个词。
  • 0:移动光标到当前行首。
  • ^:移动光标到当前行的第一个字母位置。
  • $:移动光标到行尾。
  • ):移动光标到下一个句子。
  • ( :移动光标到上一个句子

替换

  • :s/hello/world 替换当前行中第一个hello为world
  • :%s/hello/world 替换每一行中第一个hello为world
  • :s/hello/world/g 替换当前行中所有的hello为world
  • :%s/hello/world/g 替换每一行中所有的hello为world
  • :%s/hello/world/gc 找到当前文件中所有的hello,并逐一询问用户是否要替换

内容提取

  • :r !date 将当前时间插入到当前文件
  • :r /path/to/src.file 将src.file里的内容输出到当前文件

总结

VIM的命令甚多,组合也很多,记忆是不能长时间记住的。唯一的捷径就是多多使用,用的多了,使用这些命令时就像手拿筷子一样,变成了本能。