我剛剛安裝了Neocomplete,並嘗試了C文件,ruby和python,並且它完美地工作。 我有vim文件的問題,因爲我根本沒有得到任何omnicompletion。我試過C-x C-o
並得到omnifunc is not set
錯誤Neocomplete不適用於vim文件
我在做什麼錯?我認爲這會從頭開始。
我剛剛安裝了Neocomplete,並嘗試了C文件,ruby和python,並且它完美地工作。 我有vim文件的問題,因爲我根本沒有得到任何omnicompletion。我試過C-x C-o
並得到omnifunc is not set
錯誤Neocomplete不適用於vim文件
我在做什麼錯?我認爲這會從頭開始。
你沒有做錯什麼。這不是neocomplete
的工作提供omnifunc
。
Neocomplete在omni完成時可以很好地工作:它使用omnifunc
來提供很好的完成候選項以及vim提供的其他完成項。但是,neocomplete本身並不爲不同的文件類型提供或設置omnifunc
。這就是爲什麼its configuration example有多行set omnifunc=..
。
它與蟒蛇等,因爲相應的功能被Vim運行時文件提供(例如/usr/local/share/vim/vim74/autoload/pythoncomplete.vim
)或其它插件(如jedi-vim
),以及omnifunc
選項相應設置(如果你想知道在哪裏,嘗試:verbose set omnifunc?
) 。
不幸的是,默認情況下,沒有爲Vim腳本提供全方位完成功能,所以您需要i)找到一個和ii)set omnifunc=(that function)
。之後,neocomplete將能夠使用該功能提供全面完成。
編輯:作爲@馬丁Macak指出,neocomplete-vim的GitHub的頁面確實顯示出類似全完成。經過一番挖掘,看起來這些完井來自Shougo/neco-vim,簡要提及in the doc。提到的i_CTRL-X_CTRL-V
也值得一試。
然後我不明白neocomplete.vim github頁面上的圖片是什麼。有一個動畫gif顯示了vim文件中的omnicompletion,提供了函數名稱等等。 –
@MartinMacak似乎neco-vim在那裏使用。請參閱我的編輯。 – Yosh
哦,對不起,謝謝你的答案 –
vimscript沒有任何omnicompletion。 – romainl
我在說vim中的Neocomplete插件。它如何爲vim腳本提供自動完成功能?爲什麼它不適合我的情況? –
再一次,vimscript有* no * omnicompletion。 – romainl