如何在 Linux 上使用 Vundle 管理 Vim 外掛
毋庸置疑,Vim 是一款強大的文字檔案處理的通用工具,能夠管理系統配置檔案和編寫程式碼。通過外掛,Vim 可以被拓展出不同層次的功能。通常,所有的外掛和附屬的配置檔案都會存放在 ~/.vim 目錄中。由於所有的外掛檔案都被儲存在同一個目錄下,所以當你安裝更多外掛時,不同的外掛檔案之間相互混淆。因而,跟蹤和管理它們將是一個恐怖的任務。然而,這正是 Vundle 所能處理的。Vundle,分別是 Vim 和 Bundle 的縮寫,它是一款能夠管理 Vim 外掛的極其實用的工具。
Vundle 為每一個你安裝的外掛建立一個獨立的目錄樹,並在相應的外掛目錄中儲存附加的配置檔案。因此,相互之間沒有混淆的檔案。簡言之,Vundle 允許你安裝新的外掛、配置已有的外掛、更新外掛配置、搜尋安裝的外掛和清理不使用的外掛。所有的操作都可以在一鍵互動模式下完成。在這個簡易的教程中,讓我告訴你如何安裝 Vundle,如何在 GNU/Linux 中使用它來管理 Vim 外掛。
Vundle 安裝
如果你需要 Vundle,那我就當作你的系統中,已將安裝好了 Vim。如果沒有,請安裝 Vim 和 git(以下載 Vundle)。在大部分 GNU/Linux 發行版中的官方倉庫中都可以獲取到這兩個包。比如,在 Debian 系列系統中,你可以使用下面的命令安裝這兩個包。
sudo apt-get install vim git
下載 Vundle
複製 Vundle 的 GitHub 倉庫地址:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
配置 Vundle
建立 ~/.vimrc 檔案,以通知 Vim 使用新的外掛管理器。安裝、更新、配置和移除外掛需要這個檔案。
vim ~/.vimrc
在此檔案頂部,加入如下若干行內容:
set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo Plugin 'tpope/vim-fugitive' " plugin from http://vim-scripts.org/vim/scripts.html " Plugin 'L9' " Git plugin not hosted on GitHub Plugin 'git://git.wincent.com/command-t.git' " git repos on your local machine (i.e. when working on your own plugin) Plugin 'file:///home/gmarik/path/to/plugin' " The sparkup vim script is in a subdirectory of this repo called vim. " Pass the path to set the runtimepath properly. Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " Install L9 and avoid a Naming conflict if you've already installed a " different version somewhere else. " Plugin 'ascenator/L9', {'name': 'newL9'} " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line
被標記為 “required” 的行是 Vundle 的所需配置。其餘行僅是一些例子。如果你不想安裝那些特定的外掛,可以移除它們。完成後,鍵入 :wq 儲存退出。
最後,開啟 Vim:
vim
然後鍵入下列命令安裝外掛:
:PluginInstall
將會彈出一個新的分視窗,我們加在 .vimrc 檔案中的所有外掛都會自動安裝。
安裝完畢之後,鍵入下列命令,可以刪除快取記憶體區快取並關閉視窗:
:bdelete
你也可以在終端上使用下面命令安裝外掛,而不用開啟 Vim:
vim +PluginInstall +qall
使用 fish shell 的朋友,新增下面這行到你的 .vimrc 檔案中。
set shell=/bin/bash
使用 Vundle 管理 Vim 外掛
新增新的外掛
首先,使用下面的命令搜尋可以使用的外掛:
:PluginSearch
要從 vimscripts 網站重新整理本地的列表,請在命令之後新增 !。
:PluginSearch!
會彈出一個列出可用外掛列表的新分視窗:
你還可以通過直接指定外掛名的方式,縮小搜尋範圍。
:PluginSearch vim
這樣將會列出包含關鍵詞 “vim” 的外掛。
當然你也可以指定確切的外掛名,比如:
:PluginSearch vim-dasm
移動焦點到正確的一行上,按下 i 鍵來安裝外掛。現在,被選擇的外掛將會被安裝。
類似的,在你的系統中安裝所有想要的外掛。一旦安裝成功,使用下列命令刪除 Vundle 快取:
:bdelete
現在,外掛已經安裝完成。為了讓外掛正確的自動載入,我們需要在 .vimrc 檔案中新增安裝好的外掛名。
這樣做:
:e ~/.vimrc
新增這一行:
[...]
Plugin 'vim-dasm'
[...]
用自己的外掛名替換 vim-dasm。然後,敲擊 ESC,鍵入 :wq 儲存退出。
請注意,所有外掛都必須在 .vimrc 檔案中追加如下內容。
[...]
filetype plugin indent on
列出已安裝的外掛
鍵入下面命令列出所有已安裝的外掛:
:PluginList
更新外掛
鍵入下列命令更新外掛:
:PluginUpdate
鍵入下列命令重新安裝所有外掛:
:PluginInstall!
解除安裝外掛
首先,列出所有已安裝的外掛:
:PluginList
之後將焦點置於正確的一行上,按下 SHITF+d 組合鍵。
然後編輯你的 .vimrc 檔案:
:e ~/.vimrc
刪除外掛入口。最後,鍵入 :wq 儲存退出。
或者,你可以通過移除外掛所在 .vimrc 檔案行,並且執行下列命令,解除安裝外掛:
:PluginClean
這個命令將會移除所有不在你的 .vimrc 檔案中但是存在於 bundle 目錄中的外掛。
你應該已經掌握了 Vundle 管理外掛的基本方法了。在 Vim 中使用下列命令,查詢幫助文件,獲取更多細節。
:h vundle
現在我已經把所有內容都告訴你了。很快,我就會出下一篇教程。保持關注!
乾杯!