vim常忘命令

1、复制指定行到当前光标的下一行。

#假设当前光标在10行,想把第5行复制到第11行
:5copy.
#copy命令有2种简写'co''t',所以也可以写成下面的格式
:5co.
:5t.

参考:http://liuzhijun.iteye.com/category/270228

2、输入多次同一单词

#例如:输入10遍”look“
1)移动到需要的地方后
2)按ese,确保处于编辑模式
3)输入需要的次数10
4)按i,输入需要的字
5)按ese
#原理就是:在普通模式下输入次数,然后进入插入模式,输入文本,在ecs进入普通模式,完成。

 3、想复制含有某个关键字的所有行到另外一个文件中,该如何操作呢?

例如:
<1>this is a book;
<2>this is a dog;
<3>this is a english book;

要将所有含book的行copy出来。

方法:
" Clear register A
:let @a=""
" Append all lines which matchs book to register A
:g/book/y A
" Open a new buffer
:new
" Paste content of register A into the new buffer
:put a

解释:
:let @a="" 使用let命令寄存器a里的内容清空
:g/book/y A 把所有包含book的行都添加到寄存器a中。注:此处是A而不是a,A意味着符合要求的行都被追加到寄存器a中,而a则意味着符合要求的行都会替代寄存器里的内容,如果用a就会导致最后寄存器里只有符合要求的最后一行。
至此,所有包含book的行都在寄存器a里面了。
:put a 把寄存器a里的内容粘贴出来
也可以直接写到文件中去:
:g/book/. w >> filename

4、如果进行多行注释和取消注释?

注释:
1)ctrl+v 进入列编辑模式
2)向下或向上移动光标,把需要注释的行的开头标记起来
3)然后按大写的I
4)再插入注释符,比如"#"
5)再按Esc,就会全部注释了

取消注释:
1ctrl+v 进入列编辑模式,
2)向下或向上移动光标,选中注释部分,
3)然后按d, 就会删除注释符号(#)。
原文地址:https://www.cnblogs.com/litifeng/p/8728341.html