VIM Usage

Posted by Jack on October 20, 2013

1. 模式切换

  • i // 按i进入Insert模式
  • ESC// 按ESC返回Normal模式
  • :help <command>// 显示相关命令的帮助(退出帮助需要:q)

2. 移动光标

  • hjkl // 移动光标,分别为『左』『下』『上』『右』(光标键← ↓ ↑ →也可以)

  • 0// 移动至行首(数字零)

  • $// 移动至行尾

  • NG// 快速移动光标至N行(或者使用:N命令也可以快速移动光标值N行)

  • gg// 快速移动光标至第一行

  • G// 快速移动光标值最后一行

  • w// 到下一个单词的开头(若是大写,则认为以blank字符分割单词)

  • e// 到下一个单词的结尾(若是大写,则认为以blank字符分割单词)

  • %:// 匹配括号移动,包括(, [, {, (需要先把光标移动至括号上)

  • *// 匹配光标当前所在的单词,移动光标至下一个匹配单词

  • #// 匹配光标当前所在的单词,移动光标至上一个匹配单词

  • ^// 到本行的第一个非blank字符

  • g_// 到本行最后一个不是blanl字符的位置

  • fa// 到下一个为a的字符处(a也可以为其他字符)

  • 3fa// 在当前行查找第三个出现的a

  • t,// 到,前的第一个字符(,也可以为其他字符)

  • F/T// 与f/t一样,只不过是相反方向

    注:<start position><command><end position>// 很多命令可以和移动光标命令联动,比如0y$意味着0先到行首、y从这里进行拷贝、$拷贝到本行最后一个字符

3. 插入/替换

  • a// 在光标后插入
  • o// 在当前行后插入一个新行
  • cw// 替换从光标所在位置后到一个单词结尾的字符
  • gU// 将选择部分变为大写
  • gu// 将选择部分变为小写

4. 删除/剪切/粘贴

  • x// 删除当前光标所在的一个字符
  • d// 删除选择部分
  • dt"// 删除所有内容,直到遇到","可以为任意字符
  • dd// 删除当前行(并把删除的行保存到剪贴板)
  • p// 粘贴剪贴板

5. 撤销/取消撤销

  • u// 撤销,undo
  • ctrl-r// 取消撤销,redo

6. 打开/切换文件

  • :e <path/to/file> // 打开一个文件
  • :saveas <path/to/file>// 另存为为<path/to/file>
  • :bn// 切换下一个文件
  • :bp// 切换上一个文件

7. 退出/保存文件

  • :w // 存盘
  • :x// 保存并退出,仅在需要时保存
  • :wq// 保存并退出(:w 保存, :q 退出)(w后面可以跟文件名)
  • ZZ// 保存并退出,不需要输入冒号并回车
  • :q!// 退出不保存
  • :qa!// 强行退出所有正在编辑的文件(即使有过更改)

8.命令快速重复

  • . // (小数点)可以重复上一次命令
  • N<command>// 重复某个命令N次