2010年1月4日星期一

vim的高级功能

1、录制功能
有时候,我们需要对每一行做同样的工作,例如:编写脚本时,为了测试程序,有时候需要注释掉很多行,但是显然,如果一行一行的去在头部添加一个#来注释,显然无法忍受,这是就可以使用录制功能了
在命令模式下,按下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

让你的vim支持系统剪贴板

我的博客文章发贴过程:
1. 在vim里面写原创文章,或者转帖自己看到的经典文章;
2. 在vim里面写好之后,排好版,然后,快捷键操作:gg, shift+V, shift + G,
"+y,解释:"+y是把选中内容复制到系统剪切板里
3. ctrl + M 打开opera mail,粘贴之;
4. 写好主题,直接发送到我的blogger博客关联邮箱;

ok, 一篇文章完成了。

所有的剪切、复制、粘贴操作都在vim寄存器+和系统剪切粘贴板之间切换完成。vim的寄存器+是和系统剪切板关联的,即:
"+y 复制到系统剪切板
"+p 把系统粘贴板里的内容粘贴到vim

可惜的是,ubuntu 和mint
默认安装的vim是不支持系统剪切版的,需要执行以下安装:
sudo apt-get instal vim-full
sudo apt-get instal vim-gnome
sudo apt-get instal vim-gui-common