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

Uniteを使ってriを検索できるvim-ref-riというプラグインを作った

Vim Ruby

どうも。Unite.vim無しでは生きられなくなりつつある僕です。
当然ながらドキュメントの検索もUnite + vim-refで行なっていて、最近perlに再入学*1したのでperldocを引きまくっています。超便利ですね!

僕はPerlと並行してRubyも書く用事があり、そちらも絶賛勉強中なのですが、ちょっとした問題にぶつかりました。
Perlにperldocが、PythonにpydocがあるようにRubyにもrdoc+riとrefeというものがある。
vim-refは標準でrefeを表示する機能があるので、僕もrefeをインストールして使っていたのだけど、調べた限りだとrefeは...

  • 標準ライブラリしか対応していない
  • 日本語(英語版を入れたらエラーでた)

という状態でした。特に前者が問題で、gemに記述されたrdocをrefeから引くことができない。
いちいちWeb上のドキュメントを読みに行ってもいいけど、できればVimから離れたくないし、かと言って今更新しくri用のプラグインを入れて操作方法を覚えるのもだるい。vim-ref用のriプラグインがあればいいんだけど、ググった限り誰も作っていなさそう。あーこれは自作するしかないか....。

できましたー

というわけで、ぱぱっと作ってみた。
使い方は簡単。vim-refとして検索するなら

:Ref ri NAME

Uniteインタフェースでインクリメンタルに検索したいなら

:Unite ref/ri

と実行する。メソッド名をクリックしたらそのページに飛ぶこともできる。

よろしければどうぞ

追記

riのバージョンによってオプションや出力のされ方がだいぶ異なるようで、もしかしたらお使いのriのバージョンでは正しく動作しない可能性があります。

とりあえず、僕の手元のver3.9.4のriでは動作を確認しています。

*1:大昔にはてなインターンで触ったことがある