Skip to content

Vim的常用命令

普通模式命令

1.移动光标

  • j:向下
  • 20j: 向下移动 20 行
  • k:向上
  • h:向左
  • l:向右
  • 0:到行首
  • ^:到行首第一个字符,如果前面有空格的话
  • $:到行尾
  • gg:快速到文件头
  • G:快速到文件尾
  • 50G:跳转到第 50 行

请不要在插入模式进行光标移动,效率很低下。

2.复制

  • yy:复制一行
  • 8yy:向下复制 8 行
  • yw:复制光标开始的一个单词
  • y$:复制光标到行尾
  • yfA:复制光标到第一个大写 A 中间的内容
  • y2fA:复制光标到第二个大写 A 中间的内容

3.剪切

  • x:向后剪切一个一个字符,如果是在行尾,则为向前剪切
  • 4x:剪切 4 个
  • xp:非行尾交换两个字符,如从 bs 变成 sb

4.删除

  • dd:删除一行
  • 100dd:删除 100 行
  • dw:删除一个单词
  • df":删除到出现的第一个双引号
  • d^:删除至行首

删除的内容会放到剪贴板,按 p 即可粘贴到其他地方。

5.粘贴

  • p:粘贴复制或剪切的内容
  • 5p:将复制或剪切的内容粘贴 5 次

6.替换和撤销

  • r+< 待替换字母 >:将游标所在字母替换为指定字母
  • R:连续替换,直到按下 Esc
  • cc:替换整行,即删除游标所在行,并进入插入模式
  • cw:替换一个单词,即删除一个单词,并进入插入模式
  • u{n}:撤销一次或 n 次操作
  • U(大写):撤销当前行的所有修改
  • Ctrl+r:redo,即撤销 undo 的操作

7.退出编辑器

  • wq:保存当前文件并退出
  • wqa:保存所有文件并退出
  • q!: 不保存,强制退出
  • qa!: 有多个文件被打开,同时退出

命令模式

在普通模式下,输入:即可进入。

调整文本

  • %s/$/sth/ :在行尾追加 sth
  • %s/M//g :替换掉 dos 换行符,^M 使用 ctrl+v + Enter 即可输入
  • :g/\s$/d* :删除空行以及只有空格的行
  • %s/.*//g :删除之后的字符

没错,这里使用的是正则。

  • ce:使本行文本内容居中
  • ri:使本行文本内容靠右
  • le:使本行文本内容靠左

查找字符串

在普通模式下,按下/直接进入查找,输入相应的字符串按确定即可

  • n:查找下一个匹配
  • N:查找上一个匹配
  • 2n:查找下面第二个匹配

退出高亮

  • :noh或者ESC+U