2011/04/22

2011年のVimプラグインの管理はVundleで

Vimをお使いの皆様の多くは、pathogenとgit-submoduleを駆使してプラグインを管理しているのではないかと思います。

pathogenとgit-submoduleの問題

私もこの方法を使っていたのですが、git-submoduleをVimプラグインの管理に使うのはオーバースペックだと感じていました。

私はプラグイン開発者ではないので、プラグインのバージョンを固定したいという欲求があるわけでもないですし、できるだけ新しい物を使いたいわけです。
そうすると、たとえば毎朝「git submodule update」とかやっちゃうともう大変です。
毎日「plugin version bump」みたいなコミットをしなきゃいけないわけですよ。

私は常に最新のプラグインを使いたいだけなのに、コミットログがどんどん汚れていきます。

また、外の環境でプラグインを管理しなきゃいけないというのが、どうにも気持ちわるかったのです。

そこでVundleですよ!

さぁ、そこでVundleですよ。( https://github.com/gmarik/vundle )

Vundleは、Rails 3 でも採用されている依存性を解決するためのライブラリであるBundlerにインスパイアされたVimプラグインマネージャです。

Vundleを使えば、あなたのVimプラグイン生活が一新します。
  • .vimrcの中でプラグインを一元管理できます
  • Vim上でプラグインの検索ができます
  • Vim上で再起動することなくプラグインのインストール、アップデートができます

Vundleのインストール

READMEだと「git clone」になっていますが、dotfilesをgitで管理しているならここだけはsubmoduleにしましょう。
あとは、.vimrcの一番上に以下の2行を足せば終わりです。

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

使うプラグインは.vimrcに宣言

百聞は一見に如かずということで、私のvimrcをおいておきます。
https://github.com/kenchan/dotfiles/blob/master/dot.vimrc

プラグインの宣言は、'Bundle'コマンドを使いますが、その引数には http://vim-scripts.org/vim/scripts.html で列挙されているプラグイン名を指定します。このプラグイン名は、後述の検索機能を使うことで、検索から記述までの手間を省くことができます。
一方で、そこに存在しないプラグインや、開発が活発なプラグイン、自分や他人がForkしたバージョンを使いたい場合のために、gitのリポジトリを指定する機能があります。(便利!)

プラグインの検索はBundleSearch

いちいちプラグインを検索するのにWebブラウザを開くのが億劫な方のために、BundleSearchというコマンドがあります。このコマンドを使うことで、分割された画面に検索結果が表示されます。しかも、その結果は「Bundle 'プラグイン名'」の形式になっているので、ヤンクしてそのまま.vimrcへ貼りつけれることができます。(便利!)
なお、BundleSearchコマンドは初回実行時に vim-scripts.org からプラグインの一覧をローカルにキャッシュします。このキャッシュをクリアするにはBundleSearch!コマンドを使います。エクスクラメーションマークを付けると、キャッシュを取りなおして検索を行います。もしお目当てのプラグインがでてこなかったらキャッシュが古い可能性を疑ってください。

プラグインのインストールはBundleInstall

プラグインのインストールはBundleInstallコマンドで行います。これを実行すると、.vim/bundle以下にプラグインをダウンロードし、プラグインを読み込み直します。(Vimの再起動は不要!便利!)

プラグインのアップデートはBundleInstall!

プラグインのアップデートはBundleInstall!コマンドです。これももちろん自動で読み込み直します。(便利!)

プラグインのアンインストールは.vimrcから消してBundleClean

不要になったプラグインは、.vimrcから削除すればロードされなくなります。しかし、.vim/bundle以下には残ってしまうので、BundleCleanコマンドできれいにしてあげましょう。

dotfilesをバージョン管理している人は.vim/bundle以下をignoreに

折角.vimrcでプラグインを一元管理し、常に最新版を使える環境ができたので、.vim/bundle以下はignoreにしておいたほうがいいでしょう。私は、pathogenから移行して一番すっきりしたのがこれだったりします。

おわりに

githubのblogでvundleが紹介されたのであわてて書いた記事ですが、これでみなさんのVimライフが一層充実すれば幸いです。
最後に、これを教えてくれた(そして実は先週まで使っていなかった)github watcherのursm先生に感謝します。

2011/04/19

アジャイルジャパン2011サテライトin富山:「はじめてがアジャイル」

アジャイルジャパン2011サテライトin富山で「はじめてがアジャイル」というタイトルでお話させていただきました。


富山には初めて行ったのですが、地元のエンジニアの方々のパワーと、おいしい料理でとても充実した時間を過ごすことができました。
北陸エンジニアグループの皆様、当日の参加者の皆様、本当にありがとうございました。

発表内容としては、私の日々の開発風景や、気を付けていること、大切にしていることを淡々とお話ししただけですが、なにか持って帰れるものがあったなら幸いです。

2011/04/11

Agile Japan 2011 富山で「はじめてがアジャイル」というお話をしてきます

概要はAgile Japan 2011 富山の公式サイトから引用。

私が永和システムマネジメントに入社して今年で5年目。今までのプロジェクトはすべてウォーターフォールとは言えないものでした。
夢中で駆け抜けてきた4年間をこの場を借りてふりかえりながら、日々の開発の様子を赤裸々にお伝えします。

「アジャイル、アジャイル言ってるけど、実際はどうやって開発してるのよ?本に書いてある通りなの?」というところを、今のプロジェクトの話を中心にざっくばらんにお話するつもりです。まだまだ残席もあるようなので、近隣の方がいましたら是非是非ご参加ください!

とりあえずタイトルスライドだけ置いておきます。

はじめてがアジャイル

みんなもAgile Japan 2011 富山 で僕と握手!