読者です 読者をやめる 読者になる 読者になる

vimをruby用にビルドしなおしてvim-rubyを使う

vim ruby

CentOSMacOSXで動作確認。

vimruby用にビルドされているか確認

以下のコマンド。

$ vim --version | grep ruby
+printer -profile -python +quickfix +reltime -rightleft -ruby +scrollbind

はい、ここで「-ruby」となっていたら残念です。vimをリビルドする必要があります。「+ruby」ならOKですので、次節は飛ばしてください。

vimをリビルド

MacOSXならMacPortsが入ってる事前提で、

$ sudo port deactivate vim
$ sudo port install vim +multibyte +ruby

これだけでチェックアウト&リビルドしてくれます。便利!

その他Linux系では、下記のようにソースをチェックアウトしてビルドする。

$ svn co https://vim.svn.sourceforge.net/svnroot/vim/vim7
$ cd vim7
$ ./configure --with-features=huge --enable-multibyte --enable-rubyinterp
$ make
$ sudo make install

インストール後、もう一度 vim のビルドオプションを確認。

$ vim --version | grep ruby
+printer +profile +python +quickfix +reltime +rightleft +ruby +scrollbind 
コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -D_FORTIFY_SOURCE=1  -I/usr/include64    -I/usr/local/include/python2.6 -pthread  -I/usr/lib64/ruby/1.8/x86_64-linux 
リンク: gcc  -L/usr/lib64   -rdynamic -Wl,-export-dynamic  -L/usr/local/lib -o vim    -lXt -lncurses -lselinux  -lacl -L/usr/local/lib/python2.6/config -lpython2.6 -L/usr/local/lib -lz -lutil -Xlinker -export-dynamic  -lruby -lm

「+ruby」になっていれば成功!

vim-rubyを使う

$ sudo gem install vim-ruby
$ /path/to/gems/vim-ruby-2007.05.07/bin/vim-ruby-install.rb

そして .vimrc には下記を追加。

filetype on
filetype indent on
filetype plugin on

これでインストールは完了。
Ctrl+x Ctrl+o でメソッドの補完ができますよ…!
ちゃんとvimがruby用にビルドされてないと、Ctrl+x Ctrl+o しても「omnifunc is not set」って言われちゃう。俺はそこでハマった。