vim-rails 0,1,3,0,1,0,2,1

rails.vim: Ruby on Rails power tools


Remember when everybody and their mother was using TextMate for Ruby on Rails development? Well if it wasn’t for rails.vim, we’d still be in that era. So shut up and pay some respect. And check out these features:

  • Easy navigation of the Rails directory structure. gf considers context and knows about partials, fixtures, and much more. There are two commands, :A (alternate) and :R (related) for easy jumping between files, including favorites like model to schema, template to helper, and controller to functional test. Commands like :Emodel, :Eview, :Econtroller, are provided to :edit files by type, along with S, V, and T variants for :split, :vsplit, and :tabedit. Throw a bang on the end (:Emodel foo!) to automatically create the file with the standard boilerplate if it doesn’t exist. :help rails-navigation

  • Enhanced syntax highlighting. From has_and_belongs_to_many to distance_of_time_in_words, it’s here.

  • Interface to rake. Use :Rake to run the current test, spec, or feature. Use :.Rake to do a focused run of just the method, example, or scenario on the current line. :Rake can also run arbitrary migrations, load individual fixtures, and more. :help rails-rake

  • Interface to the rails command. Generally, use :Rails console to call rails console. Many commands have wrappers with additional features: :Rgenerate controller Blog generates a blog controller and loads the generated files into the quickfix list, and :Rrunner wraps rails runner and doubles as a direct test runner. :help rails-scripts

  • Partial and concern extraction. In a view, :Rextract {file} replaces the desired range (typically selected in visual line mode) with render '{file}', which is automatically created with your content. In a model or controller, a concern is created, with the appropriate include declaration left behind. :help rails-:Rextract

  • Fully customizable. Define “projections” at the global, app, or gem level to define navigation commands and override the alternate file, default rake task, syntax highlighting, abbreviations, and more. :help rails-projections.

  • Integration with other plugins. If dbext.vim is installed, it will be transparently configured to reflect database.yml. Users of abolish.vim get pluralize and tableize coercions, and users of bundler.vim get a smattering of features. :help rails-integration


If you don’t have a preferred installation method, I recommend installing pathogen.vim, and then simply copy and paste:

cd ~/.vim/bundle
git clone git://
git clone git://

You don’t strictly need bundler.vim, but it helps.

Once help tags have been generated, you can view the manual with :help rails.


I installed the plugin and started Vim. Why does only the :Rails command exist?

This plugin cares about the current file, not the current working directory. Edit a file from a Rails application.

I opened a new tab. Why does only the :Rails command exist?

This plugin cares about the current file, not the current working directory. Edit a file from a Rails application. You can use the :RT family of commands to open a new tab and edit a file at the same time.

Can I use rails.vim to edit Rails engines?

It’s not supported, but if you touch config/environment.rb in the root of the engine, things should mostly work.

Can I use rails.vim to edit other Ruby projects?

I wrote rake.vim for exactly that purpose. It activates for any project with a Rakefile that’s not a Rails application.

What Rails versions are supported?

All of them, although you may notice a few minor breakages if you dip below 3.0. A few features like syntax highlighting tend to reflect the latest version only.

Didn’t rails.vim used to handle indent settings?

It got yanked after increasing contention over JavaScript. Check out sleuth.vim.


Like rails.vim? Follow the repository on GitHub and vote for it on And if you’re feeling especially charitable, follow tpope on Twitter and GitHub.


Copyright © Tim Pope. Distributed under the same terms as Vim itself. See :help license.

Related Repositories



rails.vim: Ruby on Rails power tools ...



An attempt at The Ultimate Vim Configuration™ with focus on Rails development. DEPRECATED, SEE ...



Tools and environment to make Vim superb for developing with Node.js. Like Rails.vim for Node. ...



vim configuration – Ruby, Rails, Markdown, SCSS, CoffeeScript ...



rake.vim: it's like rails.vim without the rails ...

Top Contributors

tpope glittershark graywh mwilden jdelStrother latortuga dasch francocatena scrooloose m1foley TylerRick aripollak mwunsch p0deje akahn AndrewRadev nerdrew ajzafar bogdan brandoncc BrentWheeldon camthompson carpodaster cassiomarques ches cseelus kelsin cbartlett blueyed DanielleSucher


-   v5.2 zip tar
-   v5.1 zip tar
-   v5.0 zip tar
-   v4.4 zip tar
-   v4.3 zip tar
-   v4.2 zip tar
-   v4.1 zip tar
-   v4.0 zip tar
-   v3.4 zip tar
-   v3.3 zip tar
-   v3.2 zip tar
-   v3.1 zip tar
-   v3.0 zip tar
-   v2.1 zip tar
-   v2.0 zip tar
-   v1.256 zip tar
-   v1.239 zip tar
-   v1.222 zip tar
-   v1.216 zip tar
-   v1.200 zip tar
-   v1.192 zip tar
-   v1.190 zip tar
-   v1.180 zip tar
-   v1.175 zip tar
-   v1.166 zip tar
-   v1.150 zip tar
-   v1.144 zip tar
-   v1.140 zip tar
-   v1.132 zip tar
-   v1.128 zip tar