有關 Vim 的 OmniCppComplete 的問題… - Linux
By Caitlin
at 2009-12-09T08:34
at 2009-12-09T08:34
Table of Contents
其實我也不知道要發在哪個版,看來看去只有這個版跟 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 真的有點小繁瑣…
--
Tags:
Linux
All Comments
Related Posts
請問如何找回刪除的檔案
By Erin
at 2009-12-08T22:40
at 2009-12-08T22:40
在ubuntu 8 安裝 LAMP(appserv)
By Joseph
at 2009-12-08T21:46
at 2009-12-08T21:46
要不要連署編輯器版?
By Linda
at 2009-12-08T19:01
at 2009-12-08T19:01
要不要連署編輯器版?
By Todd Johnson
at 2009-12-08T17:12
at 2009-12-08T17:12
請問有關terminal
By Elvira
at 2009-12-08T15:31
at 2009-12-08T15:31