Vim:在Ruby中突出显示关键字对(def / end,do / end等)

时间:2010-08-05 09:03:17

标签: ruby vim macvim

在我最近尝试过的一个基于Eclipse的编辑器(我认为它是RubyMine)中,当选择打开或关闭方法或块的Ruby关键字时,突出显示了相应的open / close关键字。类似于Vim能够突出显示相应的打开/关闭括号的方式。

例如,如果我选择了'def',它会突出显示相应的'end'。它也适用于do / end块。

这非常方便,特别是那些长而有时重度嵌套的Rspec文件。

有人知道如何在Vim中实现这个目标吗?

4 个答案:

答案 0 :(得分:17)

如果您使用的是Vim 7.3,则应该有MatchIt vim宏。

runtime macros/matchit.vim添加到.vimrc文件中,您应该可以使用%来匹配红宝石块。

你可以查看ruby的filetype插件,看看它会在什么之间移动。

答案 1 :(得分:9)

VIM(直到7.2)无法突出显示结束'if / end'对,因为匹配设置接受单个字符(请参阅:help matchpairs)。 我建议您使用折叠,前提是您准确缩进代码:

:set foldmethod=indent

然后使用:zcza确保您位于正确的区域内。

答案 2 :(得分:2)

看起来这个vim插件做了paren-matching:http://vimdoc.sourceforge.net/htmldoc/pi_paren.html 您可以深入研究该代码,看看如何将其扩展到匹配其他东西。

答案 3 :(得分:1)

我在寻找基本ruby代码相同问题的答案时找到了这个插件,但我没有为Rspec等测试它。

只需通过pathogen安装即可,然后添加let g:hl_matchit_enable_on_vim_startup = 1

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

相关问题