Vim中的OmniCppComplete仅以root身份提供

时间:2012-10-07 12:14:05

标签: c++ vim autocomplete vim-plugin omnicomplete

我尝试在Vim中安装OmniCppComplete,我遵循了本教程: http://en.kioskea.net/faq/2367-the-autocompletion-c-c-in-vim

我注意到只有当我作为root时插件才有效。任何人都可以给我一个如何为所有用户提供此插件的提示吗?

.Vimrc :(来自教程)

set nocp      
filetype plugin on      

set tags+=~/.vim/tags/stl      
set tags+=~/.vim/tags/gl      
set tags+=~/.vim/tags/sdl      
set tags+=~/.vim/tags/qt4      


noremap <F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<cr>      
inoremap <F12> <Esc>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<cr>      

let OmniCpp_NamespaceSearch = 1      
let OmniCpp_GlobalScopeSearch = 1      
let OmniCpp_ShowAccess = 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,preview

我会很高兴得到所有的提示和答案! 问候,

1 个答案:

答案 0 :(得分:0)

我找到了解决方案(根据romainl的评论,谢谢!)。我为非root用户重复了相同的过程。

我需要稍微修改一下.vimrc:

syntax on
filetype plugin on

set tags+=/home/USER_NAME/.vim/tags/stl/tags
set tags+=/home/USER_NAME/.vim/tags/gl/tags
set tags+=/home/USER_NAME/.vim/tags/sdl/tags

noremap <F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<cr>
inoremap <F12> <Esc>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<cr>

let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 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,preview

首先,我已经补充了

set tags+=~/.vim/tags/stl

使用:

set tags+=/home/USER_NAME/.vim/tags/stl

其次,我需要直接指向“tags”文件,所以:

set tags+=/home/USER_NAME/.vim/tags/stl/tags

其他方式,它提供了未找到的OmniCpp模式。更多信息,例如:vim omnicppcomplete pattern not found

我希望它对其他人有帮助:) 问候和感谢您的帮助。现在它也适用于非root用户。