vim-ruby-refactoring


Ⅰ. 插件描述

Refactoring tool for Ruby in vim!

Ⅱ. 基本信息

创建日期:  2010-10-09
使用用户:  759
Github星:  503
插件作者:  Enrique Comba Riepenhausen

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'ecomba/vim-ruby-refactoring'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

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

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'ecomba/vim-ruby-refactoring'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'ecomba/vim-ruby-refactoring'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

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

Ⅳ. 文档说明

# Ruby Refactoring Tool for Vim

I love vim! It's my editor of choice when I am developing software.

Currently (for the last 4 years at least) I have been working mainly
with the Ruby Programming Language.

I have been missing a refactoring tool for a while (like the ones you
can find in IDE's) while I am developing, but I never had the nerve
to dwell into vim script to actually code my own.

Recently (a couple of weeks ago) Gary Bernhardt presented his vim
configuration in the Software Craftsmanship User Group UK and he
showed us the two refactoring patterns he has written in vim script.

Initially I just thought "cool", but it didn't really sink in until
a couple of weeks later.

So now I have decided to code this in vim script, but I am not sure how far
I will go with it (clone at your own risk).

N.B. 'Rename Local Variable', 'Rename Instance Variable' and 'ExtractMethod' require matchit.vim:

http://www.vim.org/scripts/script.php?script_id=39

Implemented commands/patterns:

:RAddParameter           - Add Parameter 
:RInlineTemp             - Inline Temp
:RConvertPostConditional - Convert Post Conditional
:RExtractConstant        - Extract Constant          (visual selection)
:RExtractLet             - Extract to Let (Rspec)
:RExtractLocalVariable   - Extract Local Variable    (visual selection)
:RRenameLocalVariable    - Rename Local Variable     (visual selection/variable under the cursor, *REQUIRES matchit.vim*)
:RRenameInstanceVariable - Rename Instance Variable  (visual selection, *REQUIRES matchit.vim*)
:RExtractMethod          - Extract Method            (visual selection, *REQUIRES matchit.vim*)

Default bindings:

:nnoremap <leader>rap  :RAddParameter<cr>
:nnoremap <leader>rcpc :RConvertPostConditional<cr>
:nnoremap <leader>rel  :RExtractLet<cr>
:vnoremap <leader>rec  :RExtractConstant<cr>
:vnoremap <leader>relv :RExtractLocalVariable<cr>
:nnoremap <leader>rit  :RInlineTemp<cr>
:vnoremap <leader>rrlv :RRenameLocalVariable<cr>
:vnoremap <leader>rriv :RRenameInstanceVariable<cr>
:vnoremap <leader>rem  :RExtractMethod<cr>

Additional usage examples (thanks Justin!):
http://justinram.wordpress.com/2010/12/30/vim-ruby-refactoring-series/

Documentation

http://relishapp.com/despo/vim-ruby-refactoring

Enrique Comba Riepenhausen & Paul King

添加新评论