Vim 插件管理器概覽

什么是 Vim 插件

:h plugin :

Vim's functionality can be extended by adding plugins. A plugin is nothing
more than a Vim script file that is loaded automatically when Vim starts. You
can add a plugin very easily by dropping it in your plugin directory.

一個(gè) Vim 插件不過是 Vim 啟動時(shí)自動加載的 Vim script 腳本而已. Vim 啟動時(shí)會自動加載 runtimepath 中的 plugin 子目錄下的所有文件. 那么, runtimepath 又是什么? :h runtimepath:

runtimepath

runtimepath 就是 Vim 查找腳本文件的地方, runtimepath 之于 Vim ,
有點(diǎn)類似 $PATH 之于 shell. :echo &runtimepath 即可進(jìn)行查看.

runtimepath 下面有兩個(gè)子目錄需要注意:

goyo.vim
  • plugin: plugin 目錄下面的所有文件都會在啟動時(shí)進(jìn)行加載.

  • autoload: autoload 里面的文件, 在啟動時(shí)并不會進(jìn)行加載, 而是通過一種特殊的方式進(jìn)行加載, 主要是命名上有要求, 詳情見 :h autoload, 這里就不展開了.
    autoload 只不過是為了加速 Vim 的啟動, 因?yàn)橐獙⑺械膬?nèi)容放在 plugin 下面的話,可能會導(dǎo)致啟動時(shí)間增加, 而且也沒有必要, 因?yàn)楹芏鄡?nèi)容并不常用, 無須在啟動時(shí)加載. "壞處" 就是需要在命名上進(jìn)行規(guī)范.

上圖中還有一個(gè) doc 目錄, 它里面通常放的是插件的 help 內(nèi)容.

如果不用插件管理器, 手動管理 Vim Script 腳本文件也可以. 但是當(dāng)插件一多的話, 就會變得很可怕, 更新, 刪除都會很麻煩. 直到目前為止, Vim 并沒有標(biāo)準(zhǔn)的插件管理器, 盡管 Vim 8 已經(jīng)引入了 packages 的管理功能 (:h packages).

主流插件管理器

主流的插件管理器有下面這幾個(gè), 從早期現(xiàn)在看來 "稍顯簡陋" 的 pathogen, 到 Vundle 已經(jīng)是真正有了幾分 manager 的意思, 再到現(xiàn)在比較流行的 vim-plugdein.vim ( neobundle 是 dein 作者前一個(gè)插件管理器作品, 已經(jīng)棄用了 ). vim-plug 和 dein.vim 現(xiàn)在都支持并行安裝和延遲加載, 這對于有幾十甚至上百個(gè)插件的人來說是非常重要的.

我比較喜歡 vim-plug, space-vim 也是使用的 vim-plug, 因?yàn)樗O(shè)計(jì)簡單, 使用方便, 功能也都算完備.

vim-plug

非主流插件管理器

除了主流的插件管理器, 還有很多非主流的管理器. 主流管理器都是用 Vim Script 實(shí)現(xiàn)的, 只是有些功能, 比如并行安裝, 會有一些版本或是編譯的特性 (+python等)要求, 使用上沒有什么依賴. 而一些非主流管理器可能是用其他語言寫的, 需要你事先安裝了那個(gè)語言, 比如有用 Rust 和 Haskell 實(shí)現(xiàn)的.

其實(shí)一個(gè)管理器的主要功能就是到 GitHub 上下載插件 (git clone) 然后放到指定目錄, 這里 是 vim-plug 的作者對 vim-plug 誕生寫的一篇文章, 里面介紹了 vim-plug 的由來.

下面是一些非主流的 Vim 插件管理器, 有興趣的可以自行查看:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容