31

最近試した Eclipse ベースのエディターの 1 つ (RubyMine だったと思います) では、メソッドまたはブロックをオープンまたはクローズする Ruby キーワードを選択すると、対応するオープン/クローズ キーワードが強調表示されました。Vim が対応する開き/閉じ括弧を強調表示できる方法と同様です。

たとえば、「def」を選択すると、対応する「end」が強調表示されます。do/end ブロックでも機能しました。

これは、特に長く、時には非常にネストされた Rspec ファイルの場合に、非常に便利でした。

Vimでこれを達成する方法を知っている人はいますか?

4

4 に答える 4

17

Vim 7.3 を使用している場合は、MatchIt vim マクロを使用できるようにする必要があります。

ファイルに追加runtime macros/matchit.vimすると、.vimrc% を使用してルビ ブロックを一致させることができるはずです。

ruby の filetype プラグインを見て、何を移動するかを確認できます。

于 2013-03-14T23:36:53.780 に答える
9

VIM (7.2 まで) は、マッチング設定が単一の文字を受け入れるため、終了の 'if/end' ペアを強調表示できません (:help matchpairs を参照)。コードを正確にインデントする場合は、代わりに折りたたみを使用することをお勧めします。

:set foldmethod=indent

次に、:zcを使用zaして、正しいブロックにいることを確認します。

于 2010-08-22T00:17:48.157 に答える
2

このvimプラグインはペアマッチングを行うようです: http://vimdoc.sourceforge.net/htmldoc/pi_paren.html おそらくそのコードを掘り下げて、他のものと一致するように拡張する方法を確認できます。

于 2010-08-10T17:09:48.853 に答える
1

基本的なRubyコードで機能するのと同じ問題の答えを探しているときにこのプラグインを見つけましたが、Rspecなどではテストしませんでした.

病原体を介してインストールして追加するだけですlet g:hl_matchit_enable_on_vim_startup = 1

https://github.com/vimtaku/hl_matchit.vim

于 2015-01-13T08:17:59.143 に答える