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
-,

執筆者:

関連記事

Redmineのモデル図を作成〜RailRoady&graphviz

By: katsrcool (Kool Cats Photography) 1,000,000 + View – CC BY 2.0 目次1 graphvizのインストール2 railro …

Ubuntu server12.04にPostgreSQL9.3をインストールする

By: ⓥⓘⓣⓐ – All Rights Reserved 目次1 はじめに2 リポジトリの追加3 インストール4 postgresユーザーにパスワードをかける5 postgresユーザ …

Ubuntu server12.04でneocompleteをつかうためにvim7.4をビルドした〜初夢、美夢

By: jinterwas – CC BY 2.0[/caption]   Ubuntu server 12.04ではapt-getでneocomplete対応のvimをインスト …

Rails4でのJavaScriptのユニットテスト~jasminerice&guard-jasmine

By: sk_vel – CC BY 2.0 Rails3.2でJasmineをつかってCoffeeScriptをテスト~jasminerice 目次1 環境2 Gemfile3 gene …

Nerdtreeでファイル操作〜vim

Nerdtreeはvimでファイル操作ができる定番プラグイン   目次1 設定など2 ファイル操作3  grep検索4 ウガンダに寄付しました 設定など [crayon-59747d630a …