我尝试在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
我会很高兴得到所有的提示和答案! 问候,
答案 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用户。