vim-users.jp

Hack #215: Vundle で plugin をモダンに管理する

Posted at 2011/04/30
このエントリーをはてなブックマークに追加

みなさんは増え続ける plugin のどのように管理されていますか。 pathogen+submodule を使う方法でしょうか。それとも未来に生き VimJolt を使用されているのでしょうか。

今回はモダンな plugin 管理方法として、Vundle を使った方法をご紹介します。

Vundle は Ruby on Rails 3 で採用されている、Gem 管理システム Bundler に影響を受けた、plugin 管理システムです。

開発は Github 上で行われています。 https://github.com/gmarik/vundle

導入

導入は以下の様に ~/.vim にリポジトリを clone すると完了します。

$ git clone http://github.com/gmarik/vundle.git ~/.vim/vundle.git

ドットファイルを git で管理されている方は、submodule として取り込んで下さい。

plugin の管理

plugin の管理は以下の様に .vimrc に Bundle ‘plugin name’ と記述することで行います。

set nocompatible
filetype off                   " (1)

set rtp+=~/.vim/vundle.git/    " (2)
call vundle#rc()               " (3)

" original repos on github
Bundle 'tpope/vim-fugitive'

" vim-scripts repos
Bundle 'rails.vim'

" non github repos
Bundle 'git://git.wincent.com/command-t.git'

filetype plugin indent on     " (5)

特徴的なのは (1) で filetype を一度 off にしている点です。 Vundle の処理が終り次第、(5) で ftplugin と indent を読み込むように指定しています。

(2), (3) で Vundle を初期化し、Bundle ‘plugin name’ を書くことで、plugin を読み込む準備が完了します。

Bundle コマンド

Github 上のリポジトリから取得する場合

Bundle 'user_name/repository_name'

の様に、Github のユーザ名とリポジトリ名を指定します。

vim-scripts 上のリポジトリから取得する場合

Bundle 'script_name'

の様に、plugin の名前を指定します。

それ以外の git リポジトリから取得する場合

Bundle 'git://repository_url'

の様に、Git リポジトリ のフルパスを指定します。

plugin の管理

plugin のインストールには、:BundleInstall コマンドを使用します。 先程、.vimrc に Bundle ‘name’ と記述した plugin が自動的に取得され、インストールまで行われます。

:BundleInstall

また、既にインストールされている plugin をアップデートするには、 :BundleInstall! コマンドを利用します。

:BundleInstall!

plugin を検索して、インタラクティブに管理することも出来ます。

:Bundles unite

上記のコマンドを実行すると、検索結果が split されて表示されます。リストから目的の plugin を選択し、インストール、削除などが行えます。

ドキュメント

以下のようにしてヘルプを生成します。

:helptags ~/.vim/vundle.git/doc

生成したヘルプは通常通り以下のように引くことが出来ます

:help vundle

参照

Sixeight

もどる
blog comments powered by Disqus