Vim中的OmniCppComplete仅作为root用户提供

OmniCppComplete in Vim available only as root

本文关键字:root 用户 中的 OmniCppComplete Vim      更新时间:2023-10-16

我尝试在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

我将非常高兴所有的提示和答案!问候,

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

我需要修改一下我的.virc:

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模式

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