Vim で実行する ruby のバージョンについて

Vim 上で ruby を単純に実行するには、:!ruby % を実行すればよいのですが、たまたま Nokogiri でエラーがでてしまった。

`require': no such file to load -- nokogiri (LoadError)

ターミナルから、ruby hoge.rb は実行できているのに。Vimruby のバージョンを確認すると

f:id:ramtiga:20130905030632p:plain

ruby 1.8.7 だった。rbenv で設定している バージョンが指定されていないようだ。

ググってもなかなか見つからない情弱orz.. やっと見つけた以下の記事。

VimからrbenvのRubyが呼び出せない問題が発生してハマった

感謝です! .zshrc にあった以下の記述を、.zshenv に書かないといけないみたい。

if [ -d ${HOME}/.rbenv ] ; then
  PATH=${HOME}/.rbenv/bin:${PATH}
  export PATH
  eval "$(rbenv init -)"
fi

source ~/.zshenv して再度バージョンを確認すると

f:id:ramtiga:20130905030716p:plain

rbenv で設定しているバージョンが指定されました。

開発環境
  • Mac OSX 10.8.4
  • ruby バージョン管理:rbenv
  • zsh 4.3.11

homebrew での Vim インストール

Mac を Mountain Lion にアップデートして Vim を再インストールしたのでメモ。インストールしたバージョンは 7.3.682。

homebrew でのインストール

以下の記事の通りにインストールする。パッチの数が多いので多少時間がかかる。

Homebrew の Vim formula 書いた – Yarukidenized:ヤルキデナイズド

$ brew install https://gist.github.com/uasi/721952/raw/843b390acb9f86226133ce3e94ed99ee485c494f/vim.rb --enable-interp=ruby --force
・・・
==> ./configure --disable-gui --without-x --disable-gpm --disable-nls --with-tlib=ncurses --enable-multibyte --prefix=/usr/local/Cellar/vim/7.3.682 --mandir=/usr/local/Cellar/vim/
==> make install
🍺  /usr/local/Cellar/vim/7.3.682: 1233 files, 21M, built in 21.1 minutes

インストール先と ruby の確認

$ which vim
/usr/local/bin/vim

$ vim --version | grep ruby
 -python -python3 +quickfix +reltime -rightleft +ruby +scrollbind +signs
Linking: cc   -L.     -L/usr/local/lib -o vim       -lm  -lncurses -liconv -framework Cocoa        -lruby -lobjc

vi コマンドで vim を実行したいので .zshrc に alias を設定する。

alias vi='/usr/local/bin/vim'

Visual Studio2008でVimライクにするViEmu

かなり今更感がありますが、VS2008を使う仕事がきたため仕方なくVSを起動してみた。
VSはIDEとしてはいいのだけどVimに慣れているとハンパなくストレスがたまります。
ということでVimキーバインドにしてくれるものを探したところ、ViEmuというのがありました。


ViEmu: vi-vim editor emulation for Xcode, Visual Studio, Word, Outlook and SQL Server


99ドルですが、1ヶ月は無料で使えるようです。

インストールしてみたところ、これはいい!Vimっぽくキーバインドがなるのかと思いきや
モードがNormal,Visual,InsertなどありVimと同じように操作できます。

また、ホームディレクトリに_viemurcファイルを置くことでカスタマイズが可能です。
ただ、Ctrl-[ でESCとならなかったり(Ctrl+@になっている)、whichwrap が使えなかったりと完全にVimと同じようにはいかないところはあります。

whichwapは、

nnoremap h       <backspace>
nnoremap l       <space>
nnoremap <Left>  <backspace>
nnoremap <Right> <space>

とすることでなんとかできます。
当然インストールしてもVSの補完機能はそのまま動くのでかなり快適になりますし、VS2008が続きそうなので購入することになりそうです。

因みにVisual Studio2010にはフリーでVsVimというのがあるらしいです。


VsVim extension