2
我想在VIM中使用omnicppcomplete,我無法讓它適用於傳遞給函數的變量。例如,鍵入以下VIM omnicppcomplete不起作用的功能參數
function1(MyObject obj) {
obj.|
}
結果爲 「--Omni完成(= O^N^P)模式未找到」
如果我定義該函數內的局部變量:
function1 (MyClass obj) {
MyClass obj2;
obj2.|
}
它工作正常,我得到了成員的彈出列表。它也適用於全局對象,但似乎無法確定變量作爲函數參數傳遞時的內容。
我的.vimrc包含:
set tags+=~/.vim/tags/cpp
set tags+=~/Projects/myproject/Software/tags
" OmniCppComplete
let OmniCpp_NamespaceSearch = 2
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"]
let OmniCpp_LocalSearchDecl = 1 " use local search function, bracket on 1st column
let OmniCpp_DisplayMode = 1
au BufNewFile,BufRead,BufEnter *.cpp,*.hpp set omnifunc=omni#cpp#complete#Main
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menuone,menu,longest,preview
map <F8> :!/usr/bin/ctags -R --exclude=backups --language-force=C++ --sort=yes -c++-kinds=+pl --fields=+iaS --extra=+q -f ~/Software/tags ~/Software .<cr>
在這裏完美的工作,與您的確切的OmniCpp選項。你在一種情況下使用'MyObject',在另一種情況下使用'MyClass',也許這是錯誤? –
我在這裏看不到任何設置來重新生成〜/ Projects/myproject/Software/tags中的標籤那些是偶然的? –