サイトアイコン Lonely Mobiler

vim で ruby の開発するための何か

そろそろがっつり ruby 書こうと思ったのだがその前に vim の設定をする。

vim の ruby オプションを有効にする

まずはデフォルトでは無効になっている vim の ruby オプションを有効にする。

# デフォルトの vim は -ruby $ vim --version | grep ruby -python3 +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent

ubuntu 標準の vim を使うのであれば再インストールの必要はなく、vim-nox を入れればそれで ruby が有効になる。

vim-nox は別に ruby のためのものではなく、以前 vim-full として提供されていたもので、いろいろなものがセットになっている。nox は no-x,つまり GUI が無い版ということらしい。とにかく他にもいろいろ有効になる。

$ sudo apt-get install vim-nox

# 再度確認 $ vim --version | grep ruby -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent

これでおk。補完が効いたりします。

Ruby で使えるプラグイン達をいれる

neobundle

プラグインの管理には neobundle を使用してます。

vim plugin を neobundle.vim で管理するように変更した。

neocomplcache,neocomplcache-rsense

Shougo/neocomplcache.vim - GitHub
Shougo/neocomplcache-rsense.vim - GitHub

コード補完してくれるアレです。rsense というのは EmacsやVimに特化したRubyのための優れた開発援助ツール ということで ruby に特化したものっぽい。

RSense - EmacsやVimなどに特化したRubyのための優れた開発援助ツール

rsense は別途入れないといけないっぽいのでインストールします。それから vimproc も必要ですが省略。

$ sudo apt-get install openjdk-7-jdk $ wget http://cx4a.org/pub/rsense/rsense-0.3.zip $ unzip rsense-0.3.zip $ sudo cp -R rsense-0.3 /opt/. $ sudo chmod +x rsense-0.3 /opt/bin/rsense $ /opt/rsense-0.3/bin/rsense version RSense 0.3 $ ruby /opt/rsense-0.3/etc/config.rb > ~/.rsense $ export RSENSE_HOME="/opt/rsense-0.3"

いれたら .vimrc に以下の一行を追加して rsense を読み込めるようにしましょう。

let g:neocomplcache#sources#rsense#home_directory = '/opt/rsense-0.3'

他の neocomplcache 関連の設定は以下のようにしてます。どこからかコピペしたままなんですけど。

" neocomplcache let g:neocomplcache_enable_at_startup = 1 let g:neocomplcache_max_list = 20 let g:neocomplcache_manual_completion_start_length = 3 let g:neocomplcache_enable_ignore_case = 1 let g:neocomplcache_enable_smart_case = 1 " demiliter for function compl if !exists('g:neocomplcache_delimiter_patterns') let g:neocomplcache_delimiter_patterns = {} endif

これで補完がかなり使えますね。

unite

Shougo/unite.vim - GitHub

これも ruby 関係ないけど便利なので。

" unite settings let g:unite_enable_start_insert=1 noremap <C-U><C-B> :Unite buffer<CR> "noremap <C-U><C-F> :Unite file -buffer-name=file<CR> noremap <C-U><C-F> :<C-u>UniteWithBufferDir -buffer-name=files file<CR> noremap <C-U><C-M> :Unite file_mru<CR> au FileType unite nnoremap <silent> <buffer> <expr> <C-J> unite#do_action('split') au FileType unite inoremap <silent> <buffer> <expr> <C-J> unite#do_action('split') au FileType unite nnoremap <silent> <buffer> <expr> <C-K> unite#do_action('vsplit') au FileType unite inoremap <silent> <buffer> <expr> <C-K> unite#do_action('vsplit') au FileType unite nnoremap <silent> <buffer> <ESC><ESC> :q<CR> au FileType unite inoremap <silent> <buffer> <ESC><ESC> <ESC>:q<CR> au FileType unite call s:unite_my_settings()

taglist

これも ruby に限定したものじゃないけど便利なので。

taglist.vim を使ってみた。

vim-rails

tpope/vim-rails - GitHub

Rails プロジェクト内のファイル間の移動とか簡単にできるアレです。

:R(model|controller|view) で今開いてるファイルに対応するモデルとかコントローラとかビューに飛べます。

この3つ以外にもいろいろジャンプできます。javascript とか helper とか。
:R(T|S|V|D) とかやると開き方を指定できます。左から順番に 新規タブ,水平分割,垂直分割,カレントバッファに読み込む となります。

Rails はファイルやディレクトリが多くて移動が面倒なので助かります。

vim-ref

thinca/vim-ref - GitHub

ruby のドキュメントを vim で読めるようにします。

まずは refe をいれる。gem で入る refe はどうやらうまく動いてくれないようなのでダウンロードしましょう。残念ながらまだ2.0は無いようです。
ドキュメント

$ wget http://doc.ruby-lang.org/archives/201208/ruby-refm-1.9.3-dynamic-20120829.tar.gz $ tar zxvf ruby-refm-1.9.3-dynamic-20120829.tar.gz $ mv ruby-refm-1.9.3-dynamic-20120829 ~/.vim/ruby-refm $ vim ~/bin/refe #!/bin/sh exec ruby -Ke -I $HOME/.vim/ruby-refm/bitclust/lib $HOME/.vim/ruby-refm/bitclust/bin/refe --encoding=euc -d $HOME/.v im/ruby-refm/db-1_9_3 "$@"

$ refe Array # 配列のドキュメントがでるはず。

ref.vimを使ってruby-1.9.3のマニュアルを閲覧する - ぼくのまわりはゆうわくだらけ うれしいね

vim-ref で ruby のドキュメントを参照するには上記のようにして refe コマンドが使える状態にしないといけないらしいんですけど、これをやっても vim 上では ref: refe: としか表示されず謎。

システムコール呼び出せばいいので当面は !refe Array とかして使います。

ちなみにメソッド名とかの上で K 押すとどこのものかわからない英語のドキュメントが見れます。これはこれで便利。

ruby-matchit

vim-scripts/ruby-matchit - GitHub

vim では () や {} などのカッコで % を押すと対応するもう片方のカッコにジャンプする機能があるんだけど、ruby では if - end みたいにカッコではなく end を多様するのでこれも % で移動できるようにします。

インストールしたら ruby-matchit.vim を ~/.vim/ftplugin/ruby/ に置きましょう。これで動くはずです。

他にもいろいろあるけど

他にも vim-rspec とか unite-rails とかいろいろあるっぽいけど、少しずつ使いながら付け足していこうかなーという感じですねはい。

Sponsored Link
モバイルバージョンを終了