vim的高级功能
1、录制功能
有时候,我们需要对每一行做同样的工作,例如:编写脚本时,为了测试程序,有时候需要注释掉很多行,但是显然,如果一行一行的去在头部添加一个#来注释,显然无法忍受,这是就可以使用录制功能了
在命令模式下,按下q键,然后按下一个0-9
a-z键,这个字母或数字代表记录的名字。然后开始对某一行操作,操作完成后,再按下q键。完成记录
使用记录:输入 重复次数@名字 即可
2、自定义快捷键
在命令模式下输入
:map 快捷键 操作
例如输入 :map <F2>
I#<esc>j即可在行首插入#并且光标下移一行。如果使用10+<F2>键就会执行10次,和上面一样的效果
取消快捷键定义,在命令模式下输入:unmap 快捷键
有时候,我们需要对每一行做同样的工作,例如:编写脚本时,为了测试程序,有时候需要注释掉很多行,但是显然,如果一行一行的去在头部添加一个#来注释,显然无法忍受,这是就可以使用录制功能了
在命令模式下,按下q键,然后按下一个0-9
a-z键,这个字母或数字代表记录的名字。然后开始对某一行操作,操作完成后,再按下q键。完成记录
使用记录:输入 重复次数@名字 即可
2、自定义快捷键
在命令模式下输入
:map 快捷键 操作
例如输入 :map <F2>
I#<esc>j即可在行首插入#并且光标下移一行。如果使用10+<F2>键就会执行10次,和上面一样的效果
取消快捷键定义,在命令模式下输入:unmap 快捷键
注意:这种设置的快捷键只有在当前vim有效,退出后即无效!可以将快捷键设置在.vimrc中
3、注释掉某些行
:1,10s/^/#/g
上面的命令在1~10行之前添加一个#,就注释掉了,这里注意^表示行首,而$肯定表示行尾。果然是!
同样,注释C语言要使用转义
:1,10s/^/\/\//g
4、神奇的ab命令
在上面我们见识了使用map来定义快捷键,但是定义太多时,就不好记了,这是可以使用"ab"命令
:ab 简写 代替简写的文本
例如我们输入:ab email leisure512@gamil.com
以后我们每次在文本中输入email,按下空格等后email就会自动变成leisure512@gmail.com,但是使用还是有点困难,因为要事先预测好。
5、在vim中使用shell命令
格式:$!command即可
6、导入其它文件内容到当前文本
:r filename
将文件的内容导入到当前光标处!
7、将导入和Shell命令一起使用
有时候我们想导入shell命令的结果,如插入当前系统时间
格式:r !command