Vim 插件管理器概覽

什麼是 Vim 插件

:h plugin :python

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. Yougit

can add a plugin very easily by dropping it in your plugin directory.github

一個 Vim 插件不過是 Vim 啓動時自動加載的 Vim script 腳本而已. Vim 啓動時會自動加載 runtimepath 中的 plugin 子目錄下的全部文件. 那麼, runtimepath 又是什麼? :h runtimepath:shell

runtimepath

runtimepath 就是 Vim 查找腳本文件的地方, runtimepath 之於 Vim ,
有點相似 $PATH 之於 shell. vim

runtimepath 下面有兩個子目錄須要注意:spa

goyo.vim

  • plugin: plugin 目錄下面的全部文件都會在啓動時進行記載.插件

  • autoload: autoload 裏面的文件, 在啓動時並不會進行加載, 而是經過一種特殊的方式進行加載, 主要是命名上有要求, 詳情見 :h autoload, 這裏就不展開了.設計

  1. 只不過是爲了加速 Vim 的啓動, 由於要將全部的內容放在 plugin 下面的話,可能會致使啓動時間增長, 並且也沒有必要, 由於不少內容並不經常使用, 無須在啓動時加載. "壞處" 就是須要在命名上進行規範.code

上圖中還有一個 doc 目錄, 它裏面一般放的是插件的 help 內容.blog

若是不用插件管理器, 手動管理 Vim Script 腳本文件也能夠. 可是當插件一多的話, 就會變得很可怕, 更新, 刪除都會很麻煩. 直到目前爲止, Vim 並無標準的插件管理器, 儘管 Vim 8 已經引入了 packages 的管理功能 (:h packages).

主流插件管理器

主流的插件管理器有下面這幾個, 從早期如今看來 "稍顯簡陋" 的 pathogen, 到 Vundle 已是真正有了幾分 manager 的意思, 再到如今比較流行的 vim-plugdein.vim ( neobundle 是 dein 做者前一個插件管理器做品, 已經棄用了 ). vim-plug 和 dein.vim 如今都支持並行安裝和延遲加載, 這對於有幾十甚至上百個插件的人來講是很是重要的.

我比較喜歡 vim-plug, space-vim 也是使用的 vim-plug, 由於它設計簡單, 使用方便, 功能也都算完備.

vim-plug

非主流插件管理器

除了主流的插件管理器, 還有不少非主流的管理器. 主流管理器都是用 Vim Script 實現的, 只是有些功能, 好比並行安裝, 會有一些版本或是編譯的特性 (+python等)要求, 使用上沒有什麼依賴. 而一些非主流管理器多是用其餘語言寫的, 須要你事先安裝了那個語言, 好比有用 Rust 和 Haskell 實現的.

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

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

相關文章
相關標籤/搜索