將 vim 指令對應到編譯時功能

將 vim 指令對應到編譯時功能

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 中引入)和重要的錯誤修復(但僅在您需要時)。

相關內容