1. 程式人生 > >vim外掛管理利器:pathogen

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 之前的任何地方,加入下面這句:

  1. call pathogen#infect()  

注:這裡需要說明一下,該外掛不能放到/usr/share/vim/vim73/目錄下,而只能放到~/.vim/目錄下。要啟用pathogen也只能修改~/.vimrc,而不能修改/etc/vimrc (Ubuntu下一般只需要修改~/.vimrc即可。如果使用Fedora,當以root使用者開啟vim時,如果要使外掛或對VIM的配置生效,則需要修改/etc/vimrc檔案)。

如果沒有~/.vimrc檔案,建立該檔案並將以下內容拷貝到該檔案中:

  1. call pathogen#infect()  
  2. syntax on  
  3. filetype plugin indent on  


要生成幫助文件的話,就在vim下輸入:call pathogen#helptags()即可。

四、安裝新外掛

到目前為止,pathogen已經啟用,要安裝新外掛,只需要下載該外掛,並將其放到~/.vim/bundle/目錄下即可。

1、安裝NERDTree

例如,要下載安裝NERDTree外掛,只需要進入到~/.vim/bundle/目錄,然後執行以下命令:

  1. git clone http://github.com/scrooloose/nerdtree.git  

下載完成後,會看到~/.vim/bundle/目錄下會多出一個新的目錄:nerdtree

OK!NERDTree外掛已經安裝完成了!可以看到這種方式比傳統的vim外掛安裝方式簡單多了!

而要解除安裝該外掛也非常簡單,只需要在~/.vim/bundle/目錄下刪除nerdtree目錄即可,乾淨利落!

要更新該外掛到最新版本,只需要進入到該目錄~/.vim/bundle/nerdtree/,並執行以下命令:

  1. git pull origin  

當然這種安裝和更新外掛的方法只適用於程式碼倉庫支援git的方法。

對於無法用git下載的外掛,就更新bundle裡的那個以外掛名為名的目錄就好。

2、安裝tagbar

tagbar可以做為taglist的替代者,在~/.vim/bundle/目錄執行安裝命令如下:

  1. git clone https://github.com/majutsushi/tagbar.git  


之後同樣可以在vimrc檔案中設定快捷鍵:

  1. nmap <F4> :TagbarToggle<CR>   "設定快捷鍵  
  2. let g:tagbar_width = 40       "設定寬度,預設為40  
  3. autocmd VimEnter * nested :call tagbar#autoopen(1)    "開啟vim時自動開啟  
  4. tagbarlet g:tagbar_left = 1         "在左側"  
  5. 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/目錄下下載並安裝該外掛:

  1. git clone https://github.com/ervandew/supertab.git  

安裝好之後,就可以在vim中直接使用自動補齊功能了。比如,用vim開啟一個.c檔案,要宣告一個unsigned int 型別的變數,只需要輸入unsi,之後按Tab鍵,就會將該關鍵字自動補齊了,非常好用。

五、利用pathogen,配置vim語法高亮

vim自身可以設定關鍵字高亮,卻無法設定函式名和自定義的資料結構高亮,可以通過taghighlight外掛解決這一問題。

首先安裝taghighlight外掛,在~/.vim/bundle/目錄執行以下命令:

  1. hg clone https://bitbucket.org/abudden/taghighlight  


等一小段時間,等待taghighlight下載完畢後,就可以使用了。