我的系统是ubuntu11.10
OmniComplete是基于ctags的,所以要先安装ctags
ubuntu11.10上,ctags好像已经安装了,可以试试sudo apt-get install ctags,已经安装的话会提醒,没安装的话这样就可以安装了
到http://www.vim.org/scripts/script.php?script_id=2358下载cpp_src.tar.bz2,解压,进入目录,运行下面这条命令
ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cpp
然后就会在这个目录下生成一个文件名为cpp的文件,这就是我们需要的
然后到http://www.vim.org/scripts/script.php?script_id=1520下载omnicppcomplete-0.41.zip
解压到~/.vim目录下(解压出3个文件夹after, autoload, doc)
然后用编辑器打开~/.vimrc,把下面内容粘进去(用文件名为cpp的文件的真实目录替换【目录】)
" ctags 索引文件 (根据已经生成的索引文件添加即可, 这里我额外添加了 hge 和 curl 的索引文件)
set tags+=【目录】/cpp
let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_ShowPrototypeInAbbr = 1 " 显示函数参数列表
let OmniCpp_MayCompleteDot = 1 " 输入 . 后自动补全
let OmniCpp_MayCompleteArrow = 1 " 输入 -> 后自动补全
let OmniCpp_MayCompleteScope = 1 " 输入 :: 后自动补全
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
" 自动关闭补全窗口
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menuone,menu,longest
filetype plugin on "这个可能需要,反正我的.vimrc里有这个
这样应该就可以了