LoginSignup
17
17

More than 5 years have passed since last update.

rails.vimの基本動作を確認してみた

Last updated at Posted at 2014-04-29

自分用のメモに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を入力する
class RolesController < ApplicationController
  • controllerのメソッド名でgf => viewがある場合はそのビューファイルへ
class RolesController <...
  # カーソルがこの行にある状態でgfを入力する.
  def index
    # メソッド中にあるRole.methodなどでもgfしたら、role.rbに移動
    # するかと思いきや、ファイルが見つからないと怒られてしまった。
    # パスの設定不足?
    ...
  end
end
  • モデル中のattr_accessible,has_many, メソッド中のモデル名でgf(attr_accessibleはrails4では非推奨) => モデルクラスがある場合は、その定義ファイルへ
class Role < ActiveRecord::Base
  # Userが存在する場合、userにカーソルをあててgfを入力する.
  # name(string)では飛ばない
  attr_accessible :name, :user

  def sample
    # ここでgfを入力すると、user.rbへ
    user
  end
end
  • 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.rb

  • application.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

ジャンプ元のファイルに戻るには

Rails.vim 移動元のファイルに戻るには

17
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
17