1
我试图定义一个vim突出显示方案,其中属于语言功能的括号突出显示与功能相同,所以例如,如果函数是红色的,那么它们的括号也将是红色。我的想法是,这将使他们与其他的圆括号结构不同。 (也许这实际上是一个可怕的想法,但我想尝试一下。)Vim:如何突出显示功能的括号
我试图定义一个区域是这样的:
syn region Function matchgroup=Function start=+Abcd\s*(+ end=+)+ contains=ALL
但是这永远不会发现它的右括号。
按照下面的建议(感谢!)我把它改为:(保存以上的vim的文件,在Vim中打开它,:so %
测试)
hi Function gui=bold guifg=Red guibg=NONE
syn region SpecialFunc matchgroup=Function start=+Abcd\s*(+ end=+)+ contains=ALL keepend
if 0
Abcd(123)
Abcd(Xxxx(123))
endif
我现在得到这样的:
这似乎做到这一点 - 谢谢! (现在为300多个其他功能做这个...) –
对不起,事实证明它没有。我的函数不会在一行的结尾结束,但如果没有“$”,结束模式就会匹配它所涉及的第一个右括号。 –
不错的尝试,谢谢:)虽然它不是真正的实用,因为它不嵌套或跨越线条,并且它抑制括号内的所有其他组。看起来这是不可行的,没有Vimscript的卸载。 –