[問題]有關 Vim 的 OmniCppComplete 的問題…

看板Linux作者 (zushen)時間16年前 (2009/12/09 08:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/4 (看更多)
其實我也不知道要發在哪個版,看來看去只有這個版跟 Vim 最有關係,就貼在這; 如有不妥請告知我會自d,感謝。 [問題一] Vim 的 OmniCppComplete 補全 std:: 相關的東西都…怪怪的。 例如我想要 std::cout 結果一打 std::c 會自動噴出一堆與 cout 無關的函式,不過就是沒有 cout, string, vector 這些標準函式庫的東西。 我想要他自動補齊 std 的東西呀... [問題二] 我想在 .cpp 檔裡實作 .h 的類別時,會出現這種問題: ======Object.h====== class Object{ public: Object(); void foo(); }; ==================== ======Object.cpp==== #include <Object.h> Object:: //當我打出範圍運算子時 OmniCppComplete 什麼都沒找到。 void Object:: //同上 ==================== Vim 不會自動跳出建構子或函式來,這樣實作時滿不方便的, 雖然有 a.vim 這好物,但我希望更無腦一點。 [環境配置] OS >> Mac OS X Snow Leopard 10.6.2 Vim >> Vim Version 7.2 (用 Mac 自帶版的) OmniCpp>> OmniCppComplete 0.41 ctags >> Exuberant Ctags 5.8 生成 tag 是用指令 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q 產生 /usr/inculde/c++/4.2.1/ 路徑下的 tag,然後放到 ~/.vim/tags/ 下改名為 cpp。 vimrc 擷取部分: set tags+=~/.vim/tags/cpp let OmniCpp_NamespaceSearch = 1 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"] set completeopt=menuone,longest,preview au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif au BufWritePost *.c,*.cpp,*.h silent! !ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ 請問版上有同樣使用者愈過類似問題嗎? 不然現在寫個小測試還要開 Eclipse CDT 編輯再跳去 Terminal compile link 真的有點小繁瑣… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.242.14
文章代碼(AID): #1B7l2C-t (Linux)
討論串 (同標題文章)
文章代碼(AID): #1B7l2C-t (Linux)