看板 Linux 關於我們 聯絡資訊
※ 引述《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的部份 我是確定要去申請開版了(只要遞交申請書,無須連署) 申請書中包括版規、獎懲規範、精華區初步規劃、開版理由等等 不過這禮拜我有三個考試兩個作業一個專題實驗..<囧> 所以大概下禮拜才會把東西確定好交出去,大家敬請期待啦 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.234 ※ 編輯: dryman 來自: 140.112.4.234 (12/09 09:40)
verysamuel:推!!! 12/09 10:29
zushenyan:第一問題已解決,感謝!問題是第二個... 12/09 12:40
zushenyan:我在 vimrc 有加每寫入 .h .cpp .c 檔就自動生成 tag 12/09 12:41
zushenyan: au BufWritePost *.c,*.cpp,*.h silent! (接下行) 12/09 12:42
zushenyan:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q 12/09 12:42
zushenyan:--language-force=C++ 12/09 12:43
zushenyan:實作時 OmniCppComplete 仍是不理我...:( 12/09 12:43
dryman:那你的tag有load進來嗎?透過taglist的plugin能看到嗎? 12/09 13:53
kornelius:謝謝捧場 :-) 12/09 14:02
maxwellee:乾麵大厲害 12/09 14:53