VimでRuby on Railsの開発する為の環境構築

ちょこっとだけ環境整えたので忘備録エントリとして。

Vim/Rubyのインストール

Ruby(.rb)とeruby(.rhtml)ファイルでシンタックスハイライトとオムニ補完が有効になる拡張。gemからインストール可能。

$ sudo gem install vim-ruby
$ vim-ruby-install.rb

vim-ruby-install.rbを実行するとインストール先の選択肢が表示される。1が自分のみ、2が全体へのインストールになる。基本的にどちらでもいいと思うけど、今回は1を選択しといた。

オムニ補完のの入力が面倒なのと、補完がRailsのメソッド名にも対応するように.vimrcを修正する。タブで補完できるInsertTabWrapper()はVim の自動補完候補表示 - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtechよりコピペ。

set nocompatible

syntax on

"omni
function InsertTabWrapper()
  if pumvisible()
    return "\"
  endif
  let col = col('.') - 1
  if !col || getline('.')[col -1] !~ '\k\|< \|/'
    return "\"
  elseif exists('&omnifunc') && &omnifunc == ''
    return "\"
  else
    return "\\"
  endif
endfunction
inoremap  =InsertTabWrapper()

" rubycomplete.vim
let g:rubycomplete_buffer_loading = 1
let g:rubycomplete_rails = 1
let g:rubycomplete_classes_in_global = 1

Rails.vimのインストール

rails.vim まとめ - 川o・-・)<2nd lifeを参考にインストール。インストール方法は・・・リンク先参照でw

.vimrcに以下を追記。

" rails.vim
let g:rails_level=4
let g:rails_default_file="app/controllers/application.rb"

対応ファイル切り替えがかなり便利。

まだ補完と対応ファイル切り替えぐらいしか機能を使えてないので、追々使い方を学んでいこうと思う。

追記: 218 omni補完でvimが落ちる問題

omni補完をするとvimが落ちる問題が発生している。

im: Caught deadly signal ABRT
Vim: preserving files...
Vim: Finished.

普通のRubyプログラム上では問題なく補完できる。(例えば10.toで10.to_sに補完とか)問題はRailsの方の補完で例えばmodelでvalidaとすると上記のエラーと共にvimが落ちる。とりあえず、rails.vimを外すとちゃんと補完できるようだけど、ファイル切り替えが便利なので悩み所。うまく共存させる方法はないのかな。