
我的是vim72版本
先安装了ctags,并在vimrc中设置:map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> ——在按下Ctrl +F12就可以自动在当前的目录下生成tags,并且set tags也是在当前的目录下,产生tags确实没问题。
我的vim72的路径是: /usr/share/vim/vim72,其中配置文件vimrc在 /usr/share/vim文件夹中……
我的OmniCppComplete安装如下:
将omnicppcomplete-0.41.zip解压出来,里面有after、autoload、doc三个文件。然后将after、autoload两个文件直接拷贝到vim的根目录/usr/share/vim/vim72里面,再将doc里面的omnicppcomplete.txt拷贝到/usr/share/vim/vim72下的doc文件夹(这里还保存着其他插件的.txt帮助文档)中。
参考http://blog.chinaunix.net/u2/68861/showart_2054072.html 及其他的很多网页,我再在vimrc中写下下面的配置:
set nocp "non vi compatible mode
filetype plugin on "enable plugins
set completeopt=longest,menu
let OmniCpp_DisplayMode = 1 "使用“MyClass::”显示类的所有方法和属性,这样比较方便
let OmniCpp_MayCompleteDot = 1 " autocomplete with .
let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->
let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)
let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype (i.e. parameters) in popup window
然后在一个含有类的工程中使用。在”INSERT“模式下,在一个对象后面输入".",先按下ctrl-x ,会在vim下面的状态栏中显示: -- ^X++ mode (/^E/^Y/^L/^N/^K/^T/^I/^]/^F/^D^V/^P/^U/^O/s/n/p)
再按下 Ctrl-o 显示: unknow function ccomplete#Complete
--Omni complete(^O^N^P) Patterm not found.
但是按下ctrl-p 和 ctrl-N 却是可以弹出tag中的内容的,但是是tag中的所有的内容,包括其他类的成员甚至一些宏都有,很繁杂。但是网上大家的好像都只是弹出本类自己的成员,就和VX中的显示一样。
我不知道到底是我的OmniCppComplete安装不正确还是配置文件写的不对,或者是其他的什么原因,导致OmniCppComplete无法在vim中正常使用??
麻烦大牛指点,或者呢给你否分享一下关于OmniCppComplete在vimrc中的配置文件……