有關 Vim 的 OmniCppComplete 的問題… - Linux

Charlie avatar
By Charlie
at 2009-12-09T09:34

Table of Contents

※ 引述《zushenyan (zushen)》之銘言:
: 其實我也不知道要發在哪個版,看來看去只有這個版跟 Vim 最有關係,就貼在這;
: 如有不妥請告知我會自d,感謝。
: [問題一]
: Vim 的 OmniCppComplete 補全 std:: 相關的東西都…怪怪的。
: 例如我想要
: std::cout
: 結果一打
: std::c
: 會自動噴出一堆與 cout 無關的函式,不過就是沒有 cout, string, vector
: 這些標準函式庫的東西。
: 我想要他自動補齊 std 的東西呀...

你想要std的話,還需要這個東西:tags for std c++
http://www.vim.org/scripts/script.php?script_id=2358

這是一個header file
用ctags來生成一個tag檔,這樣你就有一個stl的tag file了
然後在你的.vimrc中設定載入額外的ctag
就可以autocomplete stl囉

: 我想在 .cpp 檔裡實作 .h 的類別時,會出現這種問題:
: ======Object.h======
: class Object{
: public:
: Object();
: void foo();
: };
: ====================
: ======Object.cpp====
: #include <Object.h>
: Object:: //當我打出範圍運算子時 OmniCppComplete 什麼都沒找到。
: void Object:: //同上
: ====================

你存好Object.h後有跑ctags嗎?
我跑這個完全沒問題耶@ @

另外推薦一個plugin:
autoComplPop
他可以讓你邊打程式碼邊跳出自動完成的視窗
不過預設會跳出來的自動完成太多了(像我預設還有載入dictionary,超恐怖)
你可以在.vimrc中設定
let g:acp_completeOption = '.,t,i,b'
像這樣的話就是會從
. current buffer
t tags
i include headers
b buffers(像是其他視窗、未顯示出來的buffer等等)

不同的選項你可以按:h complete 去查


========================================

順便廣告一下::c9s vim 講座!!

http://whoswho.openfoundry.org/workshop/details/67

講師當然是c9s大
12/19(sat) 18:50
台北市中正區公園路30號3F

再廣告一下XD
最近正在籌劃Editor版,想徵副版主來處理emacs的部份
我是確定要去申請開版了(只要遞交申請書,無須連署)
申請書中包括版規、獎懲規範、精華區初步規劃、開版理由等等
不過這禮拜我有三個考試兩個作業一個專題實驗..<囧>
所以大概下禮拜才會把東西確定好交出去,大家敬請期待啦


--
Tags: Linux

All Comments

Emily avatar
By Emily
at 2009-12-13T08:26
推!!!
Lydia avatar
By Lydia
at 2009-12-14T08:19
第一問題已解決,感謝!問題是第二個...
Andrew avatar
By Andrew
at 2009-12-19T07:02
我在 vimrc 有加每寫入 .h .cpp .c 檔就自動生成 tag
Jake avatar
By Jake
at 2009-12-21T15:19
au BufWritePost *.c,*.cpp,*.h silent! (接下行)
!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
Andrew avatar
By Andrew
at 2009-12-22T06:45
--language-force=C++
實作時 OmniCppComplete 仍是不理我...:(
Hamiltion avatar
By Hamiltion
at 2009-12-25T21:38
那你的tag有load進來嗎?透過taglist的plugin能看到嗎?
Christine avatar
By Christine
at 2009-12-30T12:49
謝謝捧場 :-)
Kumar avatar
By Kumar
at 2010-01-03T18:21
乾麵大厲害

有關 Vim 的 OmniCppComplete 的問題…

Caitlin avatar
By Caitlin
at 2009-12-09T08:34
其實我也不知道要發在哪個版,看來看去只有這個版跟 Vim 最有關係,就貼在這; 如有不妥請告知我會自d,感謝。 [問題一] Vim 的 OmniCppComplete 補全 std:: 相關的東西都…怪怪的。 例如我想要 std::cout 結果一打 std::c 會自動噴出 ...

Google Chrome on Linux

Andy avatar
By Andy
at 2009-12-09T02:52
之前載不到的時候留mail 現在有通知信寄過來了 各位 Linux 使用者,您好: 「Google 瀏覽器」現已推出可在 Linux 上使用的測試版! 感謝許多 Chromium 和 WebKit 開發人員的努力,讓 「Google 瀏覽器」成為快速又穩定的瀏覽器。以下是有關 「Google 瀏覽器 ...

有沒有Xwindow 登入之後才會執行的 script

Charlie avatar
By Charlie
at 2009-12-08T23:38
各位大大好, 我現在有個需求是,需要在使用者在Xwindow登入之後,再透過系統即時的把 使用者的家目錄給掛起來(NFS),可是目前找到的bashrc xdmrc似乎都是需要在啟動 的時候就要寫好相關資訊給他執行,也沒辦法即時判斷現在登入的使用者帳號 有哪位大大知道有這方面的script嗎?還是必須自 ...

請問如何找回刪除的檔案

Erin avatar
By Erin
at 2009-12-08T22:40
不小心把 /bin/ 刪除了 我以為那是 ~/bin/ 請問再那邊找的到 或著是有什麼辦法可以復元 atat 感謝 -- - ...

在ubuntu 8 安裝 LAMP(appserv)

Joseph avatar
By Joseph
at 2009-12-08T21:46
之前有裝過一次 那一次是用yum安裝的 但是!這次不知道怎麼搞的 就是查不到這行指令 請大大指導一下 在ubuntu怎麼安裝LAMP架構 不是yum也OK 不過我目前還想不到別的方式 3Q - ...