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

ref.vimでRubyのリファレンスを見る

Ruby Vim

ref.vimというプラグインがあるのは知っていたんだけど使ってなかった。
ブラウザからリファレンスを見る機会が多いなと思っていたので試してみた。

ref.vimからRubyのリファレンスを見るときにはrefeというリファレンスマニュアル検索ツールを使える

refe

Rubygemsにあるようだったのでそちらを入れてみた

$ gem install refe

いざ検索してみようとするとエラーがでた

$ refe Array inject
/Users/arcright/.rvm/gems/ruby-1.9.2-p290/gems/refe-0.8.0.3/lib/refe/mygetopt.rb:14:in `new': undefined method `map' for #<String:0x007fdbf38a2c68> (NoMethodError)
    from /Users/arcright/.rvm/gems/ruby-1.9.2-p290/gems/refe-0.8.0.3/bin/refe:25:in `main'
    from /Users/arcright/.rvm/gems/ruby-1.9.2-p290/gems/refe-0.8.0.3/bin/refe:130:in `<top (required)>'
    from /Users/arcright/.rvm/gems/ruby-1.9.2-p290/bin/refe:19:in `load'
    from /Users/arcright/.rvm/gems/ruby-1.9.2-p290/bin/refe:19:in `<main>'

下記URLから新しいものをダウンロードして使うのがよさそう(今回はruby-refm-1.9.2-dynamic-20110729を使う)


ダウンロードして展開したら適当に配置してパスを通す(~/rubyrefmとかにおいた)
refeコマンドにパスが通っていないとデフォルト状態のref.vimがうまくいかないのでシンボリックリンクを作る

$ cd ~/rubyrefm
$ ln -s refe-1_9_2 refe

ref.vim側で使用するrefeのパスを指定することができるので前述の方法か好きな方で設定するといいのだと思う。
.vimrc

let g:ref_refe_cmd = "/Users/arcright/rubyrefm/refe-1_9_2"

これで使える。コマンドラインで実行してみるとこうなる

$ refe Array join
Array#join
--- join(sep = $,)    -> String

配列の要素を文字列 sep を間に挟んで連結した文字列を返します。
〜略〜

ref.vim

vundleでgithubからインストールする場合は、下記のように.vimrcに書いて:BundleInstallをする

Bundle 'thinca/vim-ref'

あとはVimを起動して:Ref refeで使えるようになっているはず

:Ref refe Arrayとかやってみるとこうなる

Rubyソースコードを見ているときであればKを押すとカーソル下の単語のリファレンスを開ける