Vim 插件管理工具 pathogen

DaNmarner 在 Hacker News 最近關於 Vim 插件的帖子 回覆中瞭解到一個叫做pathogen 的 Vim 腳本,其作用是改善 Vim 管理插件的方式。試用過後發現 pathogen 果然強大。是以撰文分享。

問題剖析

可擴展性是優秀軟件的重要特點之一,而 Vim 從 Unix 系統一路傳成下來更是將可擴展性發揮到了極致。相信多數 Vim 的經驗用戶除了自己經精心維護的.vimrc 配置文件之外更是有一個用起來得心應手的插件寶庫,從而讓 Vim 滿足自己五花八門的使用需求。

Vim 大行其道,除了優秀插件衆多之外的另一個因素是插件機制的簡便易用。安裝插件的方法無外乎一下載二解壓,或者下載以後用運行 Vim 裏的安裝命令。沒有特殊指定,插件都是裝載~/.vim 目錄之下。通過複製,symlink 甚至版本控制工具把這個目錄備份一下,日後更是能在不同機器上瞬間找到熟悉的編輯環境。

可是時間一久,這個 ~/.vim 目錄難免變得越來越臃腫,各類插件橫七豎八的散落在那一個個autoloadftplugin,indentsyntax,doc 等目錄裏面不說,很多插件還我行我素的自己創建一堆私有目錄,佔山爲王。等到你想刪除或更新某某插件的時候,要麼得去重新下載插件的壓縮包,找到它的五臟六腑都安插在了什麼位置,要麼只能憑着瞎猜法門一個目錄一個目錄的去找來。

解決之道

pathogen 讓每個插件佔有一個單獨的目錄,解決插件文件分散的問題。安裝了 pathogen 以後只要在~/.vim (注:MS Windows 下貌似是~\vimfiles,下同)裏建立一個bundle 目錄,然後把所有插件一一放在~/.vim/bundle/插件名 下面,就可以使用。插件的安裝過程與沒有 pathogen 時類似,但從安裝結束開始,一切的插件管理過程都能得到簡化。

試用過某個插件以後需要刪除?安裝在 bundle 目錄裏最後把插件的目錄一刪了之就行了。

想保持使用某個插件的最新版本?直接從插件的倉庫 checkout 一份代碼到 bundle 目錄,或者別的地方再 symlink 一下就行了。

想了解一下這個插件的實現方法?有了 pathogen 去哪裏找插件腳本再也不是問題了。

實戰演練

pathogen 只有一個單獨的腳本,所謂安裝就是把它放在你的 ~/.vim/autoload 目錄。

如果你有一個類 Unix 環境(Linux, Mac OS X),只需要下面這一條命令:

wget -O ~/.vim/autoload/pathogen.vim http://www.vim.org/scripts/download_script.php?src_id=12116

要啓用它,還要在 .vimrc 文件裏, filetype plugin indent on 之前的任何地方,加入下面這句:

call pathogen#runtime_append_all_bundles()

這樣就搞定了,把常用的插件都重裝在 ~/.vim/bundle 裏面吧!DaNmarner 個人喜歡直接把插件從倉庫裏 checkout 出來,以後直接通過版本控制來更新 Vim 插件。以 NERDTree 這個插件爲例,安裝起來是這樣的:

mkdir ~/.vim/bundle
cd ~/.vim/bundle
git clone http://github.com/scrooloose/nerdtree.git

更新到最新版本:

cd ~/.vim/bundle/nerdtree && git pull

刪除該插件:

rm -rf ~/.vim/bundle/nerdtree

怎麼樣,有了 pathogen ,管理 Vim 插件是不是簡單了很多? 

轉自:http://blog.danmarner.com/me/entry/vim-pathogen/ 

參考:

http://ghosertblog.github.io/blog/2013/01/07/ubuntu-efficient-software/ 

http://lostjs.com/2012/02/04/use-pathogen-and-git-to-manage-vimfiles

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