vim外掛管理利器:pathogen
一、pathogen簡介
通常情況下安裝vim外掛,通常是將所有的外掛和相關的doc檔案都安裝在中一資料夾中,如將外掛全部安裝在/usr/share/vim/vim73/plugin/目錄下,將幫助文件全部安裝在/usr/share/vim/vim73/doc/目錄下。這樣做帶來的後果是修改和解除安裝外掛很麻煩,很難弄清楚哪個檔案屬於哪個外掛。
如果用pathogen來管理外掛的話,就會變得方便很多了。pathogen讓每個外掛佔有一個單獨的目錄,解決了檔案分散的問題。安裝完pathogen之後,只需要在~/.vim/目錄下新建一個目錄~/.vim/bundle/,並將要安裝的所有外掛放在~/.vim/bundle/目錄下即可以使用。如果要刪除某個外掛,只需要將~/.vim/bundle/目錄下對應的外掛目錄刪除即可。如果想保持某個外掛為最新版本,直接從外掛的倉庫checkout一份程式碼到bundle目錄即可。
二、安裝pathogen
下載後可以直接解壓。pathogen外掛只有一個單獨的指令碼,所謂安裝就是把它放在當前使用者的 ~/.vim/autoload 目錄下即可。
即,將解壓後的autoload目錄連同裡面的pathogen.vim外掛拷貝到~/.vim/目錄下。
三、啟用pathogen
要啟用pathogen,還需要在~/.vimrc 檔案裡, filetype plugin indent on 之前的任何地方,加入下面這句:
- call pathogen#infect()
注:這裡需要說明一下,該外掛不能放到/usr/share/vim/vim73/目錄下,而只能放到~/.vim/目錄下。要啟用pathogen也只能修改~/.vimrc,而不能修改/etc/vimrc (Ubuntu下一般只需要修改~/.vimrc即可。如果使用Fedora,當以root使用者開啟vim時,如果要使外掛或對VIM的配置生效,則需要修改/etc/vimrc檔案)。
如果沒有~/.vimrc檔案,建立該檔案並將以下內容拷貝到該檔案中:
- call pathogen#infect()
- syntax on
- filetype plugin indent on
要生成幫助文件的話,就在vim下輸入:call pathogen#helptags()即可。
四、安裝新外掛
到目前為止,pathogen已經啟用,要安裝新外掛,只需要下載該外掛,並將其放到~/.vim/bundle/目錄下即可。
1、安裝NERDTree
例如,要下載安裝NERDTree外掛,只需要進入到~/.vim/bundle/目錄,然後執行以下命令:
-
git clone http://github.com/scrooloose/nerdtree.git
下載完成後,會看到~/.vim/bundle/目錄下會多出一個新的目錄:nerdtree
OK!NERDTree外掛已經安裝完成了!可以看到這種方式比傳統的vim外掛安裝方式簡單多了!
而要解除安裝該外掛也非常簡單,只需要在~/.vim/bundle/目錄下刪除nerdtree目錄即可,乾淨利落!
要更新該外掛到最新版本,只需要進入到該目錄~/.vim/bundle/nerdtree/,並執行以下命令:
- git pull origin
當然這種安裝和更新外掛的方法只適用於程式碼倉庫支援git的方法。
對於無法用git下載的外掛,就更新bundle裡的那個以外掛名為名的目錄就好。
2、安裝tagbar
tagbar可以做為taglist的替代者,在~/.vim/bundle/目錄執行安裝命令如下:
- git clone https://github.com/majutsushi/tagbar.git
之後同樣可以在vimrc檔案中設定快捷鍵:
- nmap <F4> :TagbarToggle<CR> "設定快捷鍵
- let g:tagbar_width = 40 "設定寬度,預設為40
- autocmd VimEnter * nested :call tagbar#autoopen(1) "開啟vim時自動開啟
- tagbarlet g:tagbar_left = 1 "在左側"
- let g:tagbar_right = 1 "在右側
在此之前,需要安裝ctag
sudo apt-get install ctag
列舉幾點比taglist優化了的地方:
(1)支援標頭檔案的函式列表顯示
tagbar對函式的可見級別也是做了區分的,分別用+ - # 並配合著色來做了區分。
(2)對面向物件的支援更好
taglist雖然也會列出類列表,但是整體還是很不直觀。
(3)自動根據檔案修改時間來重建
taglist在這一點上體驗就很不好,其實明明可以通過這種時間戳的方式來實現。
(據說tagbar最好配置ctags使用,效果會更好)
3、安裝supertab外掛
SuperTab外掛的作用是使鍵盤上的Tab鍵具有更快捷的自動補齊和上下文提示功能。在~/.vim/bundle/目錄下下載並安裝該外掛:
- git clone https://github.com/ervandew/supertab.git
安裝好之後,就可以在vim中直接使用自動補齊功能了。比如,用vim開啟一個.c檔案,要宣告一個unsigned int 型別的變數,只需要輸入unsi,之後按Tab鍵,就會將該關鍵字自動補齊了,非常好用。
五、利用pathogen,配置vim語法高亮
vim自身可以設定關鍵字高亮,卻無法設定函式名和自定義的資料結構高亮,可以通過taghighlight外掛解決這一問題。
首先安裝taghighlight外掛,在~/.vim/bundle/目錄執行以下命令:
- hg clone https://bitbucket.org/abudden/taghighlight
等一小段時間,等待taghighlight下載完畢後,就可以使用了。