VIM配置的一点心得体会

(2007-08-21 13:16:32)
标签:

it/科技

分类:IT技术
上班没办法,只能用linux系统,语法编辑器呢,也只能用VIM,而同时,发现VIM是一个很强大的编辑器,从shell的vi发展而来的窗口式语法编辑器。
当然,由于他是linux下发展而来的,原来一直处在命令汗界面下使用,所以现在在X-windows下,仍然保留了shell命令的特点,就是惯用命令行来行使各种操作,如复制粘贴移动等等,就是说,只要你掌握了命令,一切windows下用鼠标点的操作都可以不动鼠标来完成。VIM貌似没有采用windows惯用的快捷键,很多都必需用命令行实现,否则就要用鼠标点快捷图标,还是比如复制粘贴。这也是让很多用习惯了windows快捷键操作的人很痛苦,包括我,linux默认的鼠标中键的复制粘贴方式在某些时候快捷好用,但是大部分情况下没有Ctrl+C和Ctrl+V来的合适。(注:linux下复制粘贴默认快捷键除了鼠标中键还有ctrl+insert和shift+insert,想想都有多远,必需双手完成)。而且linux默认的键盘复制粘贴快捷键在VIM中不可用,除了鼠标中键可用。VIM有自己的复制粘贴快捷键和命令,实际上并不方便,调入命令行模式,打不止一个字符,不习惯的人,怎么用都不快捷,即使用多了,也没有windows那2个经典键好用。
好了,说了一堆废话,没有说到正点上,实际上这里说到VIM,也正是他很强大,开源程序的特点,自由改动和特色配置都很能满足很多用户自己的需要。VIM的语法高亮颜色也是很让人喜欢的,默认字体什么的,都很让人舒服,自动完成功能等等,你让编程更为速度。但是如果你不对VIM进行个人配置的话,你会觉得他不如一些强大的编辑器好用,如eclipse这个强大的java以及通用程序编辑器好用(当然用过的人也知道他开打有多慢了)。我先把我自己的vim配置文件内容发上来,很简单的。linux系统下,位于/home/user/.vimrc
.vimrc内容如下:
set autoindent
set tabstop=4
set shiftwidth=4
filetype plugin indent on
set sm
inoremap ( ()<LEFT>
inoremap { {}<LEFT>
inoremap [ []<LEFT>
我简单来解释一下,上面这几个是我觉得编程所常用的配置,那些语法加亮之类的,一般来说,不用配置就直接存在了。
第一行:set aotuindent设置自动缩进,如你写函数按回车,会自动缩进,让代码漂亮清晰,打反括号一类的,会自动缩回
第二行:set tabstop=4  设置<Tab>键在vim中移动量为4,默认一般是8
第三行:set shiftwidth=4 设置自动缩进量为4,这个可以和tab不一样,不过一样最好
第四行:filetype plugin indent on 自动识别vim打开的文件类型,由后缀名决定,如c,cpp,pl,并且启用相关插件和模式,如相关缩进,括号匹配,高亮显示等等,由文件格式自动识别使用
后面,set sm 其中sm是showmatch的简写,vim中有很多简写,打开showmatch,当你输入后括号,如}]),他会自动跳到相匹配的前括号处,闪动2下,不影响你继续输入,时间也可以自己设置
最后三行几乎我是自己摸索出的成果,实现功能是自动完成括号,比如你打(,他自动加上),并且移动到括号中间,编程时很方便,网上找的一些方法,你可以用baidu搜索,写的都很麻烦,而且不见得能实现,所以自己小高兴一把。当然单双引号也可以同样实现,不过我觉得不实用,很多时候,还是单个使用。
这是我的一些基本配置,基本满足我现在的需求。如果想学更多的配置,这里推荐一个有配置例子和学习介绍的好贴:
http://www.ibm.com/developerworks/cn/linux/l-tip-vim3/
还有一个是VIM7的参考手册,尤其对于insert模式的介绍:
http://vcd.gro.clinux.org/doc/insert.html
有兴趣的可以去看下,肯定会受益匪浅。
打了好多字,累死。。