vim8原生內置(naive)插件安裝(二)

前言:本篇文章續接前一篇:詳談Vim的配置層次結構與插件加載方式(一)

vim有各種各樣的插件管理工具,但是在vim8.0之後,不再需要其他的插件管理工具了,自帶了插件管理功能,可以選擇性的管理插件,非常的方便,本文介紹vim8.的自帶插件管理。

centos或者是Ubuntu先升級vim至8.1版本。

一、vim 8的內置插件管理——pack管理

1.1 創建pack包管理的文件夾

其實pack包管理的方式和其他的插件管理是類似的,依然要先創建文件夾,原理類似。

最穩定的管理插件的方法是使用Vim 8的內置功能,該功能不需要第三方代碼。下面讓我們具體來看看這種方法。

首先在用戶目錄之下的.vim文件夾之下創建一個pack目錄,然後在pack目錄中創建兩個子目錄opt和start。注意這裏,這裏的自定義名稱是我們要對插件進行的一個分類,比如自動補全的、導航的、調試的等等,方便管理,當然我就統統放在一個目錄之下也行,只是不方便管理。

mkdir -p ~/.vim/pack/自定義名稱/{opt,start}

注意事項:

(1)注意佔位符 自定義名稱。這個名稱完全取決於你。我們用它對包進行分類。大多數人會把所有的插件都扔進一個無意義的類別中,這樣完全沒問題。你可以選擇自己喜歡的名稱,在本文中我選擇使用 foobar。理論上,你也可以創建多個類別,比如~/.vim/pack/navigation, ~/.vim/pack/linting等,當然我也可以都放在foobar 這個目錄之下。

(2)Vim不會檢測類別之間的重複,如果存在重複,則會加載兩次。

(3)“start”目錄中的包會自動加載。而對於“opt”目錄中的包,只有通過:packadd命令特別請求,Vim纔會加載。opt中適合保存不常用的軟件包,以及爲保持Vim的快速啓動不必要運行的腳本。請注意,:packadd沒有相反的命令卸載包。

比如我現在的系統中創建了這樣的文件夾:

/home/zoe/.vim/pack/my_plugs/start
/home/zoe/.vim/pack/my_plugs/opt

1.2 插件安裝的步驟兩步走——“插件克隆”+“文檔說明”

(1)“插件克隆”——在start文件夾裏面添加自動加載的插件

如nerdtree插件:

首先下載插件到start文件夾裏面,

git clone https://github.com/scrooloose/nerdtree.git ~/.vim/pack/vendor/start/nerdtree

或者是直接進入到start文件夾,直接克隆即可,如下:

cd ~/.vim/pack/my_plugs/start/
git clone https://github.com/scrooloose/nerdtree.git 

或者我們也可以使用第三方下載工具curl或者是wget直接下載也可以。如下:

curl -L https://github.com/kien/ctrlp.vim/archive/1.79.tar.gz  #下載
tar zx -C ~/.vim/pack/my_plugsr/start    #解壓到剛創建的start文件夾之下

我們發現在start文件裏面多了一個nerdtree文件夾,然後創建關於該插件的說明。

(2)文檔說明——爲每一個下載的插件添加文檔說明

在每一個下載的插件下面都有一個doc文件夾,裏面有一個文本文件,放置了關於該插件的說明,我需要將文件說明安裝,以便於在vim中查看幫助。

  • 方式一:在命令行中安裝說明
vim -u NONE -c "helptags ~/.vim/pack/my_plugs/start/nerdtree/doc" -c q
  • 方式二:在vim中安裝
 :helptags ~/.vim/pack/my_plugs/start/nerdtree/doc

在安裝說明之後,會在doc文件夾之下出現一個tags的文件,這個文件就是剛纔安裝的說明文件,這樣Vim的內部幫助系統就可以使用它的內容了,現在我們可以在vim中通過下面的命令來查看某一個插件的幫助文檔了:

:help plug_name(插件名稱)

或者你也可以在包加載之後運行一次

:helptags ALL,

該命令會處理runtimepath下的所有文檔。關於什麼是 runtimepath,請參見前面的一篇文章,系列文章一。

1.3 插件的開啓與關閉

有一些插件只要安裝之後就會自動起作用,比如我們的 vim-airline,安裝之後直接重新啓動vim就能夠發現彩色的狀態欄了,但是有一些插件需要自己手動開啓和關閉,就像我們的nerdtree,當我們安裝完nerdtree之後,我們發現重啓vim之後依然沒有開啓nerdtree,那怎麼辦呢?我們首先在 .vimrc 配置文件中設置開啓和關閉的按鍵映射,比如我的如下:

 map <F3> :NERDTreeMirror<CR>
 map <F3> :NERDTreeToggle<CR>

現在我再重啓,按 F3 按鈕就會啓動nerdtree了,再按F3就會關閉。

注意:有很多插件都需要自己在 .vimrc配置文件中進行配置纔會開啓的。

1.4 選擇性的加載插件

前面的插件安裝兩步走是針對start文件夾的,凡是安裝在start文件夾裏面的插件會在vim啓動的時候自動加載,如果我想選擇性的加載某一個插件,我就需要將其安裝在opt文件夾裏面,安裝的方式跟上面一樣,依然是兩步驟,“插件克隆”+“文檔說明”。

比如我安裝一個 vim-airline插件,兩步如下:

第一步:

cd ~/.vim/pack/my_plugs/opt/
git clone https://github.com/vim-airline/vim-airline.git

第二步:

:helptags ~/.vim/pack/my_plugs/opt/vim-airline/doc

第三步:選擇性加載,通過 :packadd 來完成

:packadd vim-airline

就可以了。

所以插件選擇性加載的方式爲:

:packadd plug_name(插件名稱)

 

 

總結:使用內置pack插件管理的好處

  • 無需其他的插件管理工具,像什麼vundle,vim-plug等等;
  • 直接方便實用git,方便下載、安裝與更新,不用時直接刪除即可;

注意:

在Windows平臺之下實際上也是一樣的道理,只不過文件夾的名稱和配置文件名稱稍有所不一樣。

平臺 Linux Windows
配置文件 .viminfo _viminfo
配置文件 .vimrc _vimrc
文件夾 .vim vimfiles

 

參考:

關於vim常用的插件以及基本配置參考:[VIM] VIM 實用插件整理

vim學習資料:https://wiki.archlinux.org/index.php/Vim_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章