有關 Vim 的 OmniCppComplete 的問題… - Linux

Caitlin avatar
By Caitlin
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

請問如何找回刪除的檔案

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 - ...

要不要連署編輯器版?

Linda avatar
By Linda
at 2009-12-08T19:01
※ 引述《dryman (dryman)》之銘言: 吃掉前文 : 文章寫得很長,希望end的人不要太多andgt; andlt; : 總之,如果要開版的話,我希望能拓展編輯器有趣的特色 很期待這個版的開版說,小弟是專精emacs的,從NTEmacs開使用到現在的Linux版Emacs23 ,自己很孤獨的鑽研了 ...

要不要連署編輯器版?

Todd Johnson avatar
By Todd Johnson
at 2009-12-08T17:12
(43) 如同各位的想法 我也贊成把文章留在linux版上 原因也如同前幾位所說的 專業、專門之後 把各類分版、分類出去 將會更顯冷門 討論更會因此冷清 久而久之就廢版了 :( 倒是有個作法 將發文tag改成[editor]、[desktop]之類的 雖然說是個連線版 但或許能從ptt開始做個嘗試 看看其他 ...

請問有關terminal

Elvira avatar
By Elvira
at 2009-12-08T15:31
我想讓每次終端機執行的時候 可以自動全螢幕 請問我應該要再哪裡設定?? 我是用 ubuntu 8.04 感謝~~~~ atat -- - ...