2020/9/25

vim plug in

vi 有自己的 script language
vi plugin 就是用這些script language 寫的,用來完成特殊功能。

vim 有規定 plugin 的安裝方式:VIM REFERENCE MANUAL by Bram Moolenaar

這一篇有說明 vim 對 plugin 的運作原理。
vi 啟動,執行.vimrc
然後 search .vim/ 下所有的目錄,找 pack/*/start.
找到後執行他。

為了方便管理 plugin,也有人寫了 plugin 來方便 plugin 的安裝。

Vundle

所以要安裝其他plugin之前,要先安裝這個。
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
先把 Vundle clone 到 .vim 的folder..
然後修改 .vimrc,把 這個folder 加到 vim 的環境變數裡
set rtp+=~/.vim/bundle/Vundle.vim
接著 call Vundle 的 begin 和 end function..
在這兩個function 中間的 plugin,vundle 就會幫你安裝和管理。
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
call vundle#end()            " required
filetype plugin indent on    " required

以dart 來舉例,照著這一篇 做..
修改 vimrc,加入 Plugin 'dart-lang/dart-vim-plugin':
set nocompatible  
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'dart-lang/dart-vim-plugin'
call vundle#end()
filetype plugin indent on 
開啟vim,輸入 :PluginInstall,之後會開啟 Plugin List,然後出現Done!,舊完成了。
ls ~/.vim/bundle 可以看到..
dart-vim-plugin  Vundle.vim
已經幫你下載 dart-vim-plugin 了。

ref:

上面是第一次安裝,使用 plugin 的時候,可能參考到 Vundle ..所以寫的。
之後,又遇到,chatgpt 建議,用 vim-plug
其實vim 有 啟動後,自己到特定目錄load vim script file 的動作,所以手動把 plugin (也就是 vim script file) copy 到個特定目錄下也可以。
但是為了管理方便,有人就用 vim script 寫了 plugin 管理程式。
基本上自己也是一個 vim script。
vim script 提供一堆 function /command,要執行的話,就是再 vim 下 的命令 :function ,其中 function 就是 script 提供的 function 名稱。

所以,要安裝 vim-plug,就是把github 網站的 plug.vim 單一檔案,下載到 .vim/autoload/ 下。
這樣啟動的時候,vi 就會去 load 他了。
另外,要在.vimrc 寫:
call plug#begin('~/.vim/plugged')

"Put your plugin here

call plug#end()
這樣,vi 啟動後, run .vimrc,就會執行 call plug, 分別begin 跟 end.
讓 vim-plug 去處理 安裝的 plugin。

所以,把要安裝的 plung 寫在 .vimrc 的 begin(), end() 之間就可以。

沒有留言:

張貼留言