0

我尝试在 Vim 中安装 OmniCppComplete 并遵循本教程: http ://en.kioskea.net/faq/2367-the-autocompletion-cc-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

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

4

1 回答 1

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

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

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

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

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

于 2012-10-07T14:08:28.593 回答