vim-rails


Ⅰ. 插件描述

rails.vim: Ruby on Rails power tools

Ⅱ. 基本信息

创建日期:  2010-07-28
使用用户:  7
Github星:  3
插件作者:  CaseBook PBC

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'casecommons/vim-rails-holy-ground'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'casecommons/vim-rails-holy-ground'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'casecommons/vim-rails-holy-ground'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/casecommons/vim-rails

Ⅳ. 文档说明

rails.vim

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 migration, template
to helper, and controller to functional test. For more advanced
usage, :Rmodel, :Rview, :Rcontroller, and several other commands
are provided. :help rails-navigation

  • Enhanced syntax highlighting. From has_and_belongs_to_many to
    distance_of_time_in_words, it's here. For easy completion of these

long method names, 'completefunc' is set to enable syntax based
completion on CTRL-X CTRL-U.

  • Interface to rake. Use :Rake to run the current test, spec, or

    1. 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 script/*. Generally, use :Rscript about to call
    script/about or script/rails about. Most commands have wrappers

with additional features: :Rgenerate controller Blog generates a
blog controller and edits app/controllers/blog_controller.rb.
:help rails-scripts

  • Partial extraction and migration inversion. :Rextract {file}
    replaces the desired range (ideally selected in visual line mode) with

render :partial => '{file}', which is automatically created with
your content. The @{file} instance variable is replaced with the
{file} local variable. :Rinvert takes a self.up migration and
writes a self.down. :help rails-refactoring

  • Integration with other plugins. :Rtree spawns
    NERDTree.vim. 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 `bundle exec
rake. :help rails-integration`

Installation

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://github.com/tpope/vim-rails.git

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

FAQ

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

  1. 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

  1. Edit a file from a Rails application. You can use the :RT
  2. of commands to open a new tab and edit a file at the same time.

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

I wrote rake.vim for exactly that

  1. It activates for any project with a Rakefile that's not a
    Rails application.

Is Rails 3 supported yet?

Of course.

Is Rails 2 still supported?

Baby, you can go all the way back to Rails 1 if you like (give or take
some syntax highlighting).

Rake is slow. How about making :Rake run
testrb/rspec/cucumber directly instead of rake?

Well then it wouldn't make sense to call it :Rake, now, would it?
Maybe one day I'll add a separate :Run command or something. In the
meantime, here's how you can set up :make to run the current test:

autocmd FileType cucumber compiler cucumber | setl makeprg=cucumber\ \"%:p\"
autocmd FileType ruby
      \ if expand('%') =~# '_test\.rb$' |
      \   compiler rubyunit | setl makeprg=testrb\ \"%:p\" |
      \ elseif expand('%') =~# '_spec\.rb$' |
      \   compiler rspec | setl makeprg=rspec\ \"%:p\" |
      \ else |
      \   compiler ruby | setl makeprg=ruby\ -wc\ \"%:p\" |
      \ endif
autocmd User Bundler
      \ if &makeprg !~ 'bundle' | setl makeprg^=bundle\ exec\  | endif

Contributing

If your commit message sucks,
I'm not going to accept your pull request. I've explained very politely
dozens of times that
my general guidelines
are absolute rules on my own repositories, so I may lack the energy to
explain it to you yet another time. And please, if I ask you to change
something, git commit --amend.

Beyond that, don't be shy about asking before patching. What takes you
hours might take me minutes simply because I have both domain knowledge
and a perverse knowledge of VimScript so vast that many would consider
it a symptom of mental illness. On the flip side, some ideas I'll
reject no matter how good the implementation is. "Send a patch" is an
edge case answer in my book.

Self-Promotion

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

License

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

添加新评论