Ruby
Vim

RSenseがすごい

More than 1 year has passed since last update.

※追記 (2017/4/3)

neocompleteとrsenseはもう古い!

Neovim + deoplete + deoplete-rctを使いましょう。

※追記 (2016/3/27)

rsenseは開発が再開された模様 rsense/rsense

ただneocomplete-rsense.vimはgithubから削除されたのでこのままでは使用できない。

時間ができたら調べる予定。

※追記 (2015/9)

2010年頃から追記時点(2015/9)では開発が止まってる模様。

RSenseとvim neocompleteを連携させることによってpry並の補完が得られる。

(pry並は言い過ぎかもしれない)

補完だけでなく定義へのジャンプ機能なども備えている。

RSenseの詳細は公式サイトを参照

http://cx4a.org/software/rsense/index.ja.html

プラグインとその設定は以下の通り。

なおneocompleteの導入や設定などは各自で済ませてほしい。

" rsenseをインストール

" NeoBundle 'marcus/rsense' :helpが正常動作しない (執筆時点)
NeoBundle 'NigoroJr/rsense'
NeoBundleLazy 'supermomonga/neocomplete-rsense.vim', {
\ 'autoload' : { 'insert' : 1, 'filetype' : 'ruby', } }

" 補完の設定
if !exists('g:neocomplete#force_omni_input_patterns')
let g:neocomplete#force_omni_input_patterns = {}
endif
let g:neocomplete#force_omni_input_patterns.ruby = '[^.*\t]\.\w*\|\h\w*::'

let g:rsenseUseOmniFunc = 1

これで強力な補完が使えるようになる。

うまく型を認識できない事もあるが、今後改良されるはず。

ちなみにmarcus/rsenseとNigroJr/rsenseの違いはコメントにもある通り、:helpが正常に動作するかどうかという点。(執筆時点)