天天看點

教你用NeoBundle管理Vim插件教你用NeoBundle管理Vim插件

我們為什麼要使用插件管理器?vim 支援大量插件,但是由于它沒有嚴格定義架構,插件的檔案可以胡亂分布在不同目錄下,導緻使用者管理起來會很困難(lctt:當然,前提是你有很多插件,還有點小小的強迫症,覺得理一理這些插件心裡會舒服點)。而一款插件管理器能讓管理變得簡單許多。pathogen, vundle 和 neobundle 的工作就是為不同插件建立一個目錄,然後将這些目錄扔到 ~/.vim/bundle 目錄下。這個檔案整理方法可以讓你友善徹底地删除插件,使用 'rm -rf <插件目錄>' 或直接在檔案管理器裡面把插件所在的目錄删除就可以了,絕對綠色環保無殘留。同時,這種方法還能最大程度避免插件與插件之間的不相容性。

教你用NeoBundle管理Vim插件教你用NeoBundle管理Vim插件

neobundle 是一個基于 vundle 的項目,如同 vundle,它們都可以安裝和更新插件。然而 neobundle 的說明檔案上明确指出:“neobundle 不是一個穩定的插件管理器,如果你想要一個穩定的,請選擇 vundle”。最新的 release-note 上也有警告“可能會造成相容性問題”——這是一個開發者寫的注解,說明這個管理器還不能讓人放心使用。

<a target="_blank"></a>

curl https://raw.githubusercontent.com/shougo/neobundle.vim/master/bin/install.sh | sh

你還需要修改 .vimrc 檔案。neobundle 的 github 首頁提供一個 .vimrc 範本,但是直接使用這個範本,neobundle 需要你安裝5個可能不需要插件。如果不需要它們,你可以使用下面的最小配置:

if has('vim_starting')

set nocompatible

set runtimepath+=~/.vim/bundle/neobundle.vim/

call neobundle#begin(expand('~/.vim/bundle/'))

neobundlefetch 'shougo/neobundle.vim'

call neobundle#end()

filetype plugin indent on

上述配置的作用是:啟動 neobundle 并且像其他插件一樣更新自己。neobundle 預設從 github 下載下傳并更新,如果你正好在使用 github,你隻需要為這個插件指定維護者的使用者名和路徑。在上面的配置中,neobundlefetch 隻需要指定為“shougo/neobundle.vim”,而不是完整的 github 路徑。如果你想使用其他網站,比如是 subversion 或 mecurial 的網站,你就需要添加完整的 url。

如果你想安裝其他插件,你可以使用下面的指令:

curl -k https://github.com/[項目維護者]/[插件路徑] &gt; ~/.vim/bundle/[插件路徑]

curl -k https://github.com/tpope/vim-abolish &gt; ~/.vim/bundle/abolish

如果要讓它自動更新,在 neobundlefetch 那行下面添加一行:

neobundle 'tpope/vim-abolish'

再介紹一個小技巧:你可以為插件指定一個分支或版本号。什麼意思?neobundle 隻會使用這個插件的某個分支或版本,而忽略其版本更新。如果你使用的某個插件處于高速開發過程,你就可以使用這個技巧,避免用到有 bug 的插件版本。舉個例子:

neobundle 'shougo/vimshell', { 'rev' : '3787e5' }

還有一個技巧:在 .vimtc 檔案内添加一行關于“neobundlecheck”的屬性。neobundle 會根據配置檢查沒安裝的插件,并提示你安裝它們。你也可以使用指令“:neobundleinstall”(lctt:這是要在 vim 編輯器的指令模式下輸入)來安裝或更新插件。

很多 neobundle 指令用起來和 vundle 類似,但指令的名字不一樣。下面是 neobundle 指令的用法:

:neobundleupdate:安裝或更新插件,如果你手動把一個插件的目錄删除了,這個指令會重新安裝這個插件。在這個指令後面加上插件名稱,就隻更新一個插件;不加參數,會将所有己安裝但沒被記錄在案的插件給記錄下來。:neobundleinstall 指令效果相同。

:neobundle {repository uri} [[revision}] [,options}]]:将一個插件鎖定到固定版本,防止胡亂更新。

:neobundlelist:列出所有未初始化的插件。

:neobundleclean:進入互動界面,删除插件。

這些指令在配合 unite.vim (lctt:就是上面舉過的32個例子之一)使用時,效果會稍微有些出入。你可以使用“:help neobundle”指令了解更多資訊。

neobundle 是強大的工具,正處于高速開發狀态。任何處于這種狀态的項目,都會被帖上“有前途”和“不穩定”兩個标簽,看你自己怎麼選。如果你想要最新的穩定版本的插件,neobundle 能夠把 vundle 和 pathogen 甩出幾條街。

然而線上幫助文檔已經給出警告,它不是個穩定的産品,不及時更新版本可能造成一些插件運作出錯。最後,你需要在 .vimrc 檔案為你的 neoundle 和其他插件指定一個穩定的版本。記住這警告,然後你可以在使用這些尖端技術産品時遊刃有餘。

原文釋出時間:2014-07-19

本文來自雲栖合作夥伴“linux中國”

繼續閱讀