Ⅰ. 插件描述
rails.vim: Ruby on Rails power toolsⅡ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'tpope/rails-vim'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'tpope/rails-vim'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'tpope/rails-vim'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/tpope/vim-rails
Ⅳ. 文档说明
# rails.vim
This is a massive (in a good way) Vim plugin for editing Ruby on Rails
applications.
- 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
todistance_of_time_in_words
, it's here. - Interface to the
rails
command. Generally, use:Rails console
to
callrails console
. Many commands have wrappers with additional features:
:Generate controller Blog
generates a blog controller and loads the
generated files into the quickfix list, and :Runner
wraps rails runner
and doubles as a direct test runner. :help rails-exec
- Default task runner. Use
:Rails
(with no arguments) to run the current
test, spec, or feature. Use:.Rails
to do a focused run of just the
method, example, or scenario on the current line. :Rails
can also run
arbitrary migrations, load individual fixtures, and more.
:help rails-default-task
- Partial and concern extraction. In a view,
:Extract {file}
replaces the desired range (typically selected in visual line mode)
with render '{file}'
, which is automatically created with your
- In a model or controller, a concern is created, with the
include
declaration left behind.
:help rails-:Extract
- 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, and more.
:help rails-projections
.
- Integration with other plugins. If [dispatch.vim][] is installed,
:Rails
and other command wrappers will use it for asynchronous execution. Users of
dadbod.vim and
dbext get easy access to
their application's database. Users of
abolish.vim get pluralize and
tableize coercions, and users of [bundler.vim][] get a smattering of
: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 https://github.com/tpope/vim-rails.git
vim -u NONE -c "helptags vim-rails/doc" -c q
While not strictly necessary, [bundler.vim][] and [dispatch.vim][] are highly
recommended.
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
- 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 :AT
and the :T
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
- 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.
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
.