vim刚学一会儿之后感觉有若干命令的作用方式混淆不清,这里总结一下。
注:凡是<C-X>命令,C代表Ctrl键,而X是x的小写字母,这里用大写是保持和user manual一致。
1.几个跳转的命令
<C-]>:jump to tag
<C-T>:pop tag:标签退栈
<C-O>:jump to older positon:跳转到前一个位置
容易引起混淆的就是T和O了。其实只要搞明白,跳转并不一定就是通过标签(可以看做vim help文档里面的超链接)就明白了。
比如xxG,gg,G,H,M,L,还有/xxx命令这些都是跳转。
所以O是回到上一个跳转的位置,而不管是哪一种跳转。
而T是回到上一个标签跳转的位置。
2.几种命令以及重复,上一步,下一步操作
注:下面的命令的分类是我自己的分类,而没有标准。随着学习的深入可能会有修改和补充。
注2:确实是有分类的。学习笔记2里面的叫motion command移动命令,还有operator command操作命令。这个在usr_04.txt Making small change
里面有提到。
(1)编辑命令
比如:x,dd,p这样的在normal模式下对文本造成删改的操作,以及进入一次insert模式的所有操作被视为1次normal模式操作。
.:重复执行上一条操作
u:返回上一步。
<C-r>:下一步,即对于u命令的逆转。
(2)非跳转移动命令
比如:h,j,k,l,0,$,fx等等
对于fx来说,
;:查找下一个
,:反向查找下一个
(3)跳转移动命令
比如:<C-]>,gg,G,xxG,H,M,L等等,以及/xxx查找命令
<C-O>:返回上一步
<C-I>:下一步,即对于<C-O命令的逆转>
对于/xxx来说,
n:重复执行
N:反向重复执行