先说下方向键的关键字,hjkl,分别代表左、下、上、右。

再说下任意字符用@表示,只在示例中使用,实际上@并不是vim中的什么关键字。至于为什么用@,实在是vim用到的字符太多了,后面会慢慢接触到。

如果没有特殊说明,就是在普通模式。

可视模式

  • v:字符为范围单位
  • V:行为范围单位
  • ctrl+v:块为范围单位

命令模式

命令模式其实也属于普通模式的交互,有些操作必须要输入命令才可以,这里为了方便理解,细分出来了,介绍中为:开头的就是命令模式下的操作。

  • Vim调用shell的命令,前面要加一个感叹号,例如输入:!pwd执行pwd

翻页

  • ctrl+f:向下翻一页
  • ctrl+b:向上翻一页
  • ctrl+d:向上翻半页
  • ctrl+u:向下翻半页

行间移动

这里的@表示数字!

  • @j:将光标向下移动@行
  • @k:将光标向上移动@行
  • @:将光标移动到第@行
  • gg:将光标移动到文档的第一行
  • G:将光标移动到文档的最后一行
  • %: 在成对的括号间跳转
  • [[:将光标移动到上一个代码段(或函数)的行首
  • ]]:将光标移动到下一个代码段(或函数)的行首
  • {:将光标移动到上一个空行行首
  • }:将光标移动到下一个空行行首

行内移动

  • shift+^:将光标移动到行首
  • shift+$:将光标移动到行尾
  • f@:向下查找并将光标移到第一个字符@上,按';'(分号),继续向下查找,按','(逗号),可以延反方向找到下一个@
  • F@:同上,区别是向上查找

字符间移动

  • b:将光标移动到上一个单词的第一个字符
  • w:将光标移动到下一个单词的第一个字符
  • e:将光标移动到下一个单词的最后一个字符

查找

  • *:在文件中查找光标下的单词(向下查找),如果要继续查找,可以按n向下查找,按N反向查找

  • #:同上,区别是向上查找

  • :/id 从当前光标向下查找文件中的id字符串,为了方便,你可以直接敲击/id

  • :?id 同上,却别是向下查找

撤销

  • u:撤销
  • ctrl+r :反撤销

复制、粘贴

  • y:复制,比较常用的是先进入可视模式(按v),然后按y,复制所选文本
  • yy:复制一整行
  • p:从光标右边开始粘贴,注意不能粘贴到Vim外的程序中
  • P:大P,从光标左边开始粘贴
  • "+y:复制到系统剪贴板,这样就可以粘贴到Vim外面去了
  • "+p:将Vim外复制的内容粘贴进来

插入

  • a:从光标右边开始插入,进入插入模式
  • i:从光标左边开始插入,进入插入模式
  • A:从行尾插入,进入插入模式
  • I:从行首插入,进入插入模式
  • r:替换光标下的字符,不进入插入模式,例如rx,将光标下的字符替换为x,若选中多个字符,会逐个替换

替换

  • :s 为替换命令,前面可以跟范围如:1,20s,id,ID,g, :表示从第1行到20行替换id为ID,"%" :表示整个文件,g的意思是一行里面如果有多个匹配项,不写范围默认为当前行。

删除

  • d:删除,比较常用的是先进入可视模式(按v),然后按d,删除所选文本
  • dd:删除一整行

重复

  • .:会重复上次编辑操作

退出

  • :q 退出
  • :w 保存
  • :x 保存并退出
  • :e 编辑文件,不存在则创建

本文由程小白创作,本文可自由转载、引用,但需署名作者且注明文章出处。

原文地址:https://www.chengxiaobai.cn/skills/vim-concise-guide.html