移动

  • (hjkl) → (←↓↑→)
  • Ctrl + F/B 上/下一页
  • gg 跳到文档第一行
  • nG 跳到文档第n行
  • ^/数字0 跳到此行的开头字符/跳到此行的开始位置
  • $ 跳到此行的结尾
  • w/e, W/E 跳到单词的后面,小写包括标点
  • b, B 跳到单词的前面,小写包括标点

插入

  • i 插入到光标前面
  • I 插入到行的开始位置
  • a 插入到光标后面
  • A 插入到行的最后位置
  • o/O 插入到下/上一行

编辑

  • s/S 删除光标所在的一个字符/一行,光标还在此行。(不同与dd)
  • u/U 撤销上一步操作/撤销此行的所有操作
  • Ctrl + R 恢复上一步操作
  • . 重复最后一个命令
  • n>>/n<< n行向右/左移动一个tab

搜索

  • /pattern 搜索pattern关键字
  • ?pattern 向后搜索pattern关键字
  • n 向下搜索
  • N 向上搜索
  • V 选中此行

剪切和复制

  • dd 删除一行
  • dw 删除一个单词
  • D 删除到最后一个字符
  • x 删除当前字符
  • X 删除前一个字符
  • nyy 复制n行
  • p 粘贴
vim与系统之间的复制粘贴:

注:vim中有多个剪切板!使用 :reg 可以查看各个剪切板离得内容。只有vim.gtk或者vim.gnome才能使用系统剪切板,默认的vim看不到+号寄存器。默认vim可以使用终端粘贴快捷键粘贴。

 - 将系统剪切板内容粘贴到vim中,直接在输入模式下按Shift + Insert即可。
 - vim中有12个剪切板,分别是012、……、9、a、"、+ 。在vim中使用y只是复制到 " 剪切板里,p粘贴的也是这个剪切板里的内容。
 - 要将vim中内容复制到某个剪切板,要在normal模式下,选择要复制的内容,按 "ny 完成复制。其中,n为粘贴板号。
 - +号剪切板是系统剪切板,使用 "+y 可以将内容复制到系统剪切板,同理,用 "+p 粘贴到vim中。

关闭

  • :w 保存
  • :wq 保存并关闭(无论有没有修改,都会改变修改时间)
  • :q 关闭(已保存)
  • :q! 强制关闭
  • :x 保存并关闭(当有修改时会改变修改时间,否则不会)

更多推荐

个人 Vim 操作小结