自分用のメモにrails.vimの基本動作を確認してみた。
rails.vimのインストール
ここから https://github.com/tpope/vim-rails
モデルTodoから、Controller,Viewに切り替えるには
:Econtroller
:Eview ビュー名(newやeditなど):Emodel
:Ehelper
モデル名を明示して、MVCを切り替えるには
例:モデルroleを表示する.vim
:Econtroller roles
:Eview roles/ビュー名(newやedit,showなど)
:Emodel role
名称はtabを押すと色々と補完してくれる。
gfの動作
ソースを見た方が早いのかもしれない・・・。
- クラス名でgf => そのクラスの定義ファイルに移動する.
# カーソルがApplicationController上でgfを入力するclassRolesController<ApplicationController
- controllerのメソッド名でgf => viewがある場合はそのビューファイルへ
classRolesController<...# カーソルがこの行にある状態でgfを入力する.defindex# メソッド中にあるRole.methodなどでもgfしたら、role.rbに移動# するかと思いきや、ファイルが見つからないと怒られてしまった。# パスの設定不足?...endend
- モデル中のattr_accessible,has_many, メソッド中のモデル名でgf(attr_accessibleはrails4では非推奨) => モデルクラスがある場合は、その定義ファイルへ
classRole<ActiveRecord::Base# Userが存在する場合、userにカーソルをあててgfを入力する.# name(string)では飛ばないattr_accessible:name,:userdefsample# ここでgfを入力すると、user.rbへuserendend
viewの'form'などでgf => 対応するviewファイルへジャンプ
以下でgfしても反応無し?
- helper
- js
- scheme.rb
- routes.rb
:Aコマンド (関連ファイルに切り替え)
(カーソル位置に依らない?)
凡例: :Aを実行したファイル => 移動先ファイル
モデル => モデルテスト
例:role.rb => role_test.rbビューファイル => コントローラテスト
例:roles/_form.html.erb => roles_controller_test.rbヘルパー => ヘルパーテスト
例:roles_helper.rb => roles_helper_test.rbapplication.js => application_heler.rb
xxx.js => application.js
scss => 反応無し
migration => 定義済みのmigrationファイルを循環する
scheme.rb => seeds.rb
seeds.rb => scheme.rb
application.rb => routes.rb
routes.rb => application.rb
:Rコマンド
(カーソル位置に依る)
- RolesController => RolesHelper
- RolesController::index => views/roles/index.html.erb
- views/roles/index.html.erb => RolesController::index
- Roles => schema.rb
- schema.rb => カーソルのあるモデルクラス
- RolesHelper => RolesHelerTest
- environment.rb => routes.rb
- routes.rb => application.rb
- application.rb => routes.rb