2010-01-29 28 views
1

我發現omnicppcomplete不支持typedef-ed結構體名稱。我不知道它是omnicppcomplet的限制,還是因爲我的vim環境中缺少一些配置。讓我給你一個虛擬的例子來說清楚。omnicppcomplete是否支持typedef語法

typedef struct foo { 
    int a; 
    int b; 
}foo_t ; 

foo a ; 
foo_t b ; 

然後我打了「a」。在插入模式下,彈出窗口中會出現以下內容:

a m + foo 
b m + foo 

但是打到「b」後。 ,下面一行出現在篩網的底部:

"Omni completion (^O^N^P) Pattern not found 

======================哈比的回答後,編輯===== ==========================

我使用的ctags版本是5.4,最新版本是5.8。通過Habi的示例提示,我下載了最新版本的ctags並解決了問題。

回答

2

一個類似的例子在這裏工作。

我使用的ctags這樣:

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . 

我用旺盛的ctags版本5.7和0.41 omnicppcomplete。

我omnicppcomplete的設置是:

let OmniCpp_ShowPrototypeInAbbr=1 
let OmniCpp_ShowScopeInAbbr=1 
let OmniCpp_SelectFirstItem=2 
+0

@habi:在ctags的版本在Linux機器我登錄爲5.4,顯然是不合時宜的。通過你的例子提示,我嘗試使用最新版本的ctags,它現在可以工作。謝謝你的幫助 。 – 2010-01-29 12:27:55