2012-09-09 27 views
1

我正着手設置自己的VIM,主要是爲了更好的自動補全。在我的谷歌研究中,我遇到了omnicppcomplete和clang。我似乎無法弄清楚兩者的優點/缺點。有人知道嗎?找不到差異 - omnicppcomplete與clang

此外,是否比第三方系統更容易安裝?

任何反饋意見將有所幫助。謝謝!

+0

建議:改寫的問題,以「VIM自動完成 - omnicppcomplete與鐺」 – xtofl

回答

3

Clang確實'理解'C++。這意味着它可以區分名爲foo的局部變量和名爲foo的成員函數。如果你想完成thisObject.fo...,它不會給你fooContainer完成,但只有Object::fooMethod

另外,Clang可以處理所有C語言,ctags不能。

Omnicppcomlete基於ctags,它只是源樹的文本索引。所以它會更密集,大多數時間會做你想做的事情;有時它會不太準確。這不是一個真正的問題。

我還沒有安裝完成鏘雖然:(你可能必須建立自己鐺,而CTAGS最有可能帶有您的分配

+0

。實際上,到目前爲止,clang已經很好地分佈了,但是Python綁定並不是(通常),我相信它們是自動完成所必需的。 –

+0

@MatthieuM。clang自動完成可以以兩種方式之一使用,編譯器(在vim中不需要python支持)或通過libclang(需要vim中的python支持,以及系統中的python解釋器)。後者應該更好(爲插件提供更多信息),但我不能說 –