2010-01-29 96 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