Vim和Ruby - 匹配"do"和"end"s?

Gly*_*yph 13 ruby vim

我确信我们都熟悉"意外的kEnd"问题.他们总是(对我而言)要追查很多麻烦,因为Vim与"do"和"end"不匹配.(显然,其他以"结束"结尾的元素,如"if")

有没有办法配置Vim来显示这些匹配,以帮助简化调试?

小智 19

如果你使用的是最近的vim(我使用的是7.4),内置的matchit宏可以很好地处理ruby代码.

只需在.vimrc中添加以下内容即可启用它

runtime macros/matchit.vim
Run Code Online (Sandbox Code Playgroud)

点击%以匹配do/end组合和ruby文件中的许多其他组合.

  • 没想到这是内置的!伟大的。也适用于 `def` / `end` (2认同)

Der*_*ior 5

我使用这个宏,然后将其添加到我的vimrc中以启用它:

" % to bounce from do to end etc.
runtime! macros/matchit.vim
Run Code Online (Sandbox Code Playgroud)

当我想找到do的匹配结束时,我将光标放在do上并点击%.