rails.vim まとめ
id:higepon に『rails.el も rails.vim も知らなかったよ!もっと早く知ってたら生産性が三倍になっていたのに!(一部誇張』と云われたので、rails.vim について ひげぽん OSとか作っちゃうかMona- - rails.el まとめ に沿った形で簡単に紹介したいと思います。
インストール
- 通常のインストール
http://www.vim.org/scripts/script.php?script_id=1567
から rails.zip をダウンロードし、~/.vim/ 以下に展開します
- svn からのインストール
vba (vim のパッケージングシステム)を使うので vim7 以上限定の方法ですが
svn co http://svn.tpope.net/rails/vim/railsvim/ railsvim
cd railsvim
rake rails.vba
vim -c 'so %' rails.vba
でインストールできます。
使いそうな機能を抜粋
対応するファイルへの切替え
:R
:R で controller と view の切り替えが可能です。コントローラの場合、カーソル現在位置のメソッドに対応する view に飛んでくれます。
:Rmodel
対応する model へ飛んでくれます。たとえば、models/foo.rb なモデルには、foo_controller.rb や fixtures/foos.yml を編集中の時に、:Rmodel で自動で飛びます。また、
:Rmodel foo
と明示的にモデル名を引数にすることで、そのモデルに飛ぶことができます。
以下は :Rmodel のそれぞれ版です
- :Rcontroller
- :Rview
- :Runittest
- :Rmigration
- などなどあるので :R[tab] すると一覧でみれます
テンプレートの partial を簡単に
rhtml 編集時に、visual モードで範囲選択して、:Rpartial でテンプレートの切り出し、保存を自動で行ってくれます。
メニューを開く
vim はメニューは使わないことになっています。使わないよね?
関連するファイルを開く
おなじみ魔法のコマンド gf で対応するファイルが開けます。
たとえばソース中で
layout 'hatena'
のところでカーソルをあてて gf するとviews/layout/hatena.rhtml に飛びます。
またもちろん Foo にカーソルをあてて gf で models/foo.rb に飛びますし、ModelController にカーソルを当てて gf で controllers/model_controller.rb に飛びます。
ログを開く
:Rlog で split された window にログを表示できます。しかも最新だとカラーリングまでされます。また Exception 部分が折りたたまれて表示されるため、長い例外でも見たいときだけ折りたたみを解除して見れます。でも vim だと重くて無理です。gvim だと良いかもしれません。
httpd(script/server) の操作
:Rserver で起動できます。でも screen が必須です。
現在見ている action や view をブラウザで開く
:Rpreview で開けます
API document
:Rdoc で Rails のドキュメントは表示はできますが、メソッド検索はできません。htmlhelp を使うのでいらないよね!(負け惜しみ)
SQL Console
:Rdbext で実行できます。dbext.vim が必要です。が、別 screen で mysql などを直接使った方が便利です。vim で sql 書きたいときは mysql のコンソールから edit と打つと環境変数 EDITOR のエディタで編集できますし。
略語展開 ( abbrev )
render_text
とか打つと、
render :text =>
などと展開されます。よく使う abbrev のコマンドは id:moro さん作の moroの日記 - Rails.vimのチートシート を見ると一発でわかって便利です。
もっと詳しくいろいろ知りたい
まだまだたくさんの機能があります。
:help rails.vim
で優しく詳しくほぼ全機能載っているので、vim な rails 使いは一読をオススメします。
また、83's : rails.vimのいい加減な翻訳 で rails.vim の翻訳(すばらしい!)も載っているので、参照すると良いでしょう。