Vundle:Vim Plugin 自動下載、安裝、更新與管理工具(Vim Bundle)

Vundle 是一個可以自動下載、安裝與管理 Vim plugins 的工具,讓 Vim 的使用者可以很方便的使用各種 plugins。

Vim 編輯器可以透過各種 plugin 來增加各種功能,在 Vim Scripts 網站上收錄了非常大量的 Vim 指令稿,使用者可以自己下載後安裝在 Vim 中使用。雖然這些 plugins 可以加強 Vim 的功能,但是如果安裝了太多的 plugins,在管理上就會比較麻煩,這時候就可以使用 Vundle 來幫忙管理所有的 Vim plugins。


Vundle(Vim Bundle 的簡稱)是一個 Vim plugin 管理工具,主要功能如下:

  • .vimrc 中統一管理所有的 plugin 設定。
  • 安裝 plugin。
  • 更新 plugin。
  • 以名稱搜尋 Vim Scripts 網站的 plugin。
  • 清除沒有用到的 plugin。
  • 互動式操作介面。

基本上 Vundle 提供了一般使用者很完整的 plugin 管理功能,只要有了這個工具,所有關於 plugin 的安裝與管理動作,都可以在 Vim 的環境下進行,既快速又方便。以下是 Vundle 的安裝與使用方式。

安裝

由於 Vundle 會需要 Git(用於下載 plugin)與 Curl(用於搜尋 plugin)兩項工具,所以在安裝 Vundle 之前要先安裝這兩個工具,若在 Ubuntu Linux 中可以使用 apt 安裝:

sudo apt-get install git curl

接著安裝 Vundle:

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

然後設定 .vimrc,加下面這段設定貼在 .vimrc 的開頭:

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" alternatively, pass a path where Vundle should install plugins
"let path = '~/some/path/here'
"call vundle#rc(path)

" let Vundle manage Vundle, required
Plugin 'gmarik/vundle'

" The following are examples of different formats supported.
" Keep Plugin commands between here and filetype plugin indent on.
" scripts on GitHub repos
Plugin 'tpope/vim-fugitive'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'tpope/vim-rails.git'
" 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/'}
" scripts from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
Plugin 'FuzzyFinder'
" scripts not 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'
" ...

filetype plugin indent on     " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList          - list configured plugins
" :PluginInstall(!)    - install (update) plugins
" :PluginSearch(!) foo - search (or refresh cache first) for foo
" :PluginClean(!)      - confirm (or auto-approve) removal of unused plugins
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Plugin commands are not allowed.
" Put your stuff after this line

其中所有 Plugin 開頭的設定,除了 Plugin 'gmarik/vundle' 之外,都可以依照自己的需求決定是否要加入。

最後在 Vim 中執行 :PluginInstall 安裝 .vimrc 中所設定的 plugins,或是在終端機中執行

vim +PluginInstall +qall

這樣也可以安裝所有的 plugins。

Vundle 的網站上有一些寫好的範例,一開始如果不知道該如何選擇 plugin,可以先直接使用別人寫好的 .vimrc 檔來修改,這樣會比較省時間。

fisa-vim-config 設定檔

如果你有使用 Vim 來開發 Python 程式,建議可以參考 fisa-vim-config 這個設定檔,它把各種 plugin 整合的很好,下面這個是使用的畫面。

fisa-autocomplete

自動補齊(auto-completion)

fisa-class-browser

類別(class)瀏覽器

fisa-errors

自動偵測錯誤

fisa-fuzzy-finder

模糊(fuzzy)搜尋

在 fisa-vim-config 的網頁中有詳細介紹它所提供的功能與特色,另外也詳述了相關 Python 開發工具的安裝方式與字型的安裝與設定,如果你想要打造一個一模一樣的環境,可以參考他的網頁說明。

Linux

5 Comments

  1. Gary

    Hi GT

    我看了你的這篇:
    Vundle:Vim Plugin 自動下載、安裝、更新與管理工具(Vim Bundle)

    然後自行安裝了vundle以及plugin, 最後用vim開啟了我自己寫的一個main.c檔, 發現打開後的顯示內容樣式並沒有如你那篇文章裡的顯示變化,

    想請問,我是不是哪裡沒有設定好?
    謝謝

    Gary

    想請問

  2. Gary

    抱歉!

    忘了說明我所安裝好的套件,如下:

    Plugin ‘VundleVim/Vundle.vim’
    Plugin ‘tpope/vim-fugitive’
    Plugin ‘L9’
    Plugin ‘Command-T’
    Plugin ‘tplugin’
    Plugin ‘rstacruz/sparkup’
    Plugin ‘Tagbar’

    Gary

    • G. T. Wang

      請問您要的「顯示變化」是什麼?

      • Gary

        Hi GT

        由於我是vim的開始使用者,還不了解要set 相關數值,
        所以我只安裝了套件,但是沒做後續set的動作,因此,就沒有出現“顯示變化”,
        抱歉! 在還沒釐清問題就發問.

        想請問,如果要了解像是:

        set nocompatible
        let iCanHazVundle=1 … …

        諸如此類的.vimrc設定內容,
        對於初學者而言有比較好的參考資料或是建議嗎?

        謝謝

        Gary

Leave a Reply