14
vimscript中這兩種完整函數的功能是否有區別?除調用鍵映射外,omnifunc和completefunc之間的區別是什麼?
vimscript中這兩種完整函數的功能是否有區別?除調用鍵映射外,omnifunc和completefunc之間的區別是什麼?
技術上,有在執行用戶定義的 完成的沒有差異(參見:help compl-function
,:help 'completefunc'
)和全 完成(見:help compl-omni
,:help 'omnifunc'
)。它們都通過調用 調用特殊語義的函數來定位要在當前位置完成的 表達式的開始,並提供適當的 完成建議(請參閱:help complete-functions
)。
如果這兩種類型的完成之間的差異表現出來, 是完成的目的。用戶自定義完成時應根據具體情況具體完成 的想法,由用戶自己定製 的想法。 Omni完成應該是文件類型特定的。因此,單獨 針對不同文件類型的Omni完成功能可通過 Vim從autoload/{ft}complete.vim
文件自動加載,其中{ft}
代表 代表特定文件類型。請參閱適用於C或Python的Omni完成文件 filetypes作爲參考。