RubyOnRailsの開発環境 vim

vimでRailsのプロジェクトファイル間を移動〜rails

投稿日:2013年2月24日 更新日:

 

By: rjpCC BY 2.0

vim-rails

github.com/tpope/vim-rails

vim-railsはvimでrailsをやるときに便利な機能を集めたプラグイン

今回は移動に関係しそうなのに絞った

gfで移動

本来のgfコマンドを拡張

文脈にあったところにジャンプしてくれる

下はヘルプの例(*がカーソルの位置)

場所移動先
Po*st.firstapp/models/post.rb
has_many :com*mentsapp/models/comment.rb
link_to ‘Home’, :controller => ‘b*log’app/controllers/blog_controller.rb
<%= render ‘sh*ared/sidebar’app/views/shared/_sidebar.html.erb
<%= stylesheet_link_tag ‘scaf*fold’ %>public/stylesheets/scaffold.css
class BlogController < Applica*tionControllerapp/controllers/application_controller.rb
class ApplicationController < ActionCont*roller::Base…/action_controller/base.rb
fixtures :pos*tstest/fixtures/posts.yml
layout :pri*ntapp/views/layouts/print_html.erb
<%= link_to “New”, new_comme*nt_path %>app/controllers/comments_controller.rb のdef new

元に戻るにはC-oかC-^

 

:Aと:Rで移動

:Aと:RでAlternativeとRelatedなファイルに移動してくれる

現在のファイルAlternate FIleRelated File
modelunit testschema definition
controllerfunctional testtemplate
templatefunctional testcontroller メソッドにジャンプ
migrationprevious migrationnext migration
database.ymldatabase.example.ymlenviroments/*.rb

AlternateやRelatedはconfig/editor.jsonで設定ができる

rspecに関しては、特に設定する必要はない

対象のspecファイルを準備すればrails-vimが適当に合わせてくれる

実ファイルと対象テストを:Aだけで行き来できるからすごく便利

*config/editor.jsonの例

vim scriptで単数形とか複数形の変換てどうやるのかな

viewはサブディレクトリを作ることが多いので、サブディレクトリに対応させたい

この表現でサブディレクトリに対応してました

開き方のオプション

オプション開き方
なにもつけない またはE 例: :A :AE :R :RE同じウィンドウ
S 例: :AS :RS新しいsplit window
V 例: :AV :RV新しいvertical split window
T 例: :AT :RT新しいタブ
D 例: :AD :RD現在のバッファ

 

File Typeで移動

:R〜コマンドで移動できる コマンドのオートコンプリートを設定しておけば便利

たぶんvimのfiletypeとは関係ない

上のようなconfig.editor.jsonを設定しておけば Rbackbonemodels というコマンドが自動生成される

 

unite-rails

github.com/basyura/unite-rails

Railsのためのuniteプラグイン

ソースコマンド
/app/models:Unite rails/model
/app/controllers:Unite rails/controller
/app/views:Unite rails/view
/app/helpers:Unite rails/helper
/app/mailers:Unite rails/mailer
/lib:Unite rails/lib
/db:Unite rails/db
/config:Unite rails/config
/log:Unite rails/log
/public/javascripts:Unite rails/javascripts
/public/stylesheets:Unite rails/stylesheets
bundle’s commands:Unite rails/bundle
gems:Unite rails/bundled_gem
routes:Unite rails/routes
root:Unite rails/root
command:Unite rails/command

javascriptsとstylesheetsはapp/assetsも見てくれてるみたい

自分のキーマップはこんな感じ

例:

コントローラー探したいな〜と思ったら:rcで絞り込みとか

gem追加したいな〜とかだったら:rgからの:Bundle(これはbundle.vimの機能)とか

 

それでも一番使うのはノーマルなuniteのfile_mru(過去に使ったファイル)とfile(カレントバッファのディレクトリのファイル)だったりする

2014/1/29 追記

rails-vim のrails/stylesheetとrails/javascriptの指定が間違っていたので訂正しました

 

Unite.vimがプロジェクト単位での検索に対応した

Uniteで.gitを基準に検索する

:Unite -start-insert file_rec/async がctrlp.vimと比べると遅い #326 

-RubyOnRailsの開発環境, vim
-,

執筆者:

関連記事

vimでソーシャルなスニペットメモをはじめる~gist.vim

  ネットワークで固定IPの設定ってどう書くんだっけ?とか久々にMySQLを使ったらプリビレッジのつづりが出てこないorzとか そういうのはそのたびにググったり、evernoteを使ったりし …

vimperator再び

By: Cheryl DeWolfe – CC BY 2.0 vimperatorはFirefoxをvimライクに操作できるアドオン 目次1 インストール2 日本語ヘルプ3 動画4 チュー …

Rails generateのときにbelongs_toを設定

By: Michael Douglas Bramwell – CC BY 2.0 using belongs_to with scaffold generator to quickly c …

no image

Rails3のTest:Unitでベンチマーク

参考 Performance Testing Rails Applications — How To? 目次1 Gemfile2 サンプル作成3 実行 Gemfile デフォルトのテストはTest:u …

FirefoxでJSONをみやすく整形〜JSONView

addons.mozilla.org/ja/firefox/addon/jsonview/ Firefoxのデフォルトではこんな表示だけど・・・ JSONViewアドオンをいれればこんなに見やすくなる …