参考文献:htthttp://hi.baidu.com/meakhella/item/73bb37171ae455f7746a842b
http://nodes.sinaapp.com/archive/41
http://blog.bugscan.net/category/4
http://blog.csdn.net/duguteng/article/details/7412652
http://www.cnblogs.com/fjatns/archive/2011/12/13/2286702.html
系统:vmware-ubuntu10.10
1、安装ctags
ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。
$sudoapt-get install ctags
也可以网上下载个,然后进入源代码根目录执行./configure,然后执行make,编译成功后执行makeinstall。
2、安装neocomplcache插件
下载地址:http://www.vim.org/scripts/script.php?script_id=2620(在search里输入neocomplcache,找那个最新的版本下载就行)。
将解压后的文件拷贝到~/.vim/vimfile里对应的文件夹下(注:是解压后文件夹里面的文件,好像是四个,autoload、doc、plugin、README.MD,也可以直接放到.vim里)。
在~/.vimrc文件里加入自动启动的命令: let g:neocomplcache_enable_at_startup =1
3、配置.vimrc文件
在里面加入下面内容(//后是我的注释,不要写进去):
set nu //代码显示行号
syntax on //关键词高亮显示
set cindent //c语法自动缩进
set autoindent //新行自动缩进
set shiftwidth=4 //缩进宽度4
set tabstop=4 //tab键宽度4
set softtabstop=4 //制表符宽度4

let g:neocomplcache_enable_at_startup = 1 //插件自动启动

//括号自动补全
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif

let g:neocomplcache_enable_at_startup = 1

:inoremap ( ()
:inoremap ) =ClosePair(')')
:inoremap { {}
:inoremap }=ClosePair('}')
:inoremap [[]
:inoremap ]=ClosePair(']')
:inoremap< <>
:inoremap> =ClosePair('>')

functionClosePair(char)
ifgetline('.')[col('.') - 1] == a:char
return""
else
returna:char
endif
endf

说明:vim存在多个配置文件vimrc,比如/etc/vimrc,此文件影响整个系统的Vim。还有~/.vimrc,此文件只影响本用户的Vim。而且~/.vimrc文件中的配置会覆盖/etc/vimrc中的配置。这里只修改~/.vimrc文件。
关于插件和.vimrc的设置还有很多文章有介绍,配置复杂,功能也非常强大,这里这样配置我就已经很满足了,不在尝试新的配置。如果有写的不妥或者错误之处,欢迎指正,谢谢。

PS:ctrl+p也可以实现自动补全,只是补全窗口不会自动弹出。
弹出补全窗口后,ctrl+n和ctrl+p可以实现向下向上选词,向上向下箭头也可以。