
Vim 有一個概念特徵,即根據編譯時標誌在實際安裝中可能支援也可能不支援的功能子集。可以使用該函數檢查某個has()
功能是否存在,並且可以使用該指令列舉所有可能的功能feature-list
。
我希望我的 vim 腳本透過在使用之前檢查功能來變得更加健壯。我的問題是沒有明確記錄哪個命令依賴哪個功能。
具體範例:某些 Linux 發行版vim.tiny
預設附帶,這是功能嚴重受限的vim
.如果我啟動vim.tiny
,我.vimrc
會發出大量錯誤訊息。例如,該let
命令不可用,但不清楚哪個功能提供了該命令。我怎樣才能可靠地確定它?或者如果不可能,我該如何讓我的 vim 啟動優雅地降級vim.tiny
?
答案1
針對 Vim 插件vim 小是困難的,因為它由非常有限的功能集。它的目的是作為精益替代品六,僅支援一些映射,僅此而已。
也就是說,確實可以使用has()
和來檢測和斷言某些功能exists()
。:let
可以透過換行來防止錯誤:if 1
,但正如我所說,更好地瞄準「正常」功能的 Vim,只需添加對新內容可用性的檢查(例如隱藏、持久撤銷(Vim 7.3 中引入)和重要的錯誤修復(但僅在您需要時)。