为了把gvim打造成一个强大的C++ IDE,折腾了很多插件,其中Omnicppcomplete 折腾了很久,今天终于整好了,分享下经验。
下面为详细步骤:
1.首先要安装omnicppcomplete,这个不细述,网上很多教程,很快就能搜到。安装好后阅读其说明文档doc/omnicppcomplete.txt。
2.在.vim文件夹下创建tags文件夹,存放tags文件。
3.创建ctgs。
-
$ cd ~/.vim/tags
-
$ ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cpp $PATH/cpp_src
4.编辑.vimrc文件
-
" configure tags - add additional tags here or comment out not-used ones
-
set tags+=~/.vim/tags/cpp
-
" build tags of your own project with Ctrl-F12
-
map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
-
-
" OmniCppComplete
-
let OmniCpp_NamespaceSearch = 1
-
let OmniCpp_GlobalScopeSearch = 1
-
let OmniCpp_ShowAccess = 1
-
let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
-
let OmniCpp_MayCompleteDot = 1 " autocomplete after .
-
let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
-
let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
-
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
-
" automatically open and close the popup menu / preview window
-
au CursorMovedI,InsertLeave * if pumvisible() == 0| pclose|endif
-
set completeopt=menuone,menu,longest,preview
如果按照如上方法安装好后还是无法使用,总是出现
"pattern not found"该怎么办?
打开gvim,输入命令:set omnifunc
如果出现omnifunc=ccomplete#Complete,则表示现在使用的补全函数为c语言的,自然无法补全c++,这时需要在.vimrc 中添加
-
au BufNewFile,BufRead,BufEnter *.cpp,*.hpp set omnifunc=omni#cpp#complete#Main
阅读(4601) | 评论(0) | 转发(0) |