我有一个文件,其中一行可以以+
,-
或*
开头。在其中一些行之间可以有行(包含那些字符,但不包含在第1列中!),以字母或数字(一般文本)开头。
了解这一点,设置匹配和放大器的最简单方法是什么?突出显示机制,以便突出显示以+
开头的行和所有后续行,直到第1列中包含+
,-
或*
的行为止在...红色?
欢迎所有想法。
答案 0 :(得分:4)
您可以使用:
syntax region MyRegion start=/^+/ end=/\ze\n[-+*]/
hi MyRegion guifg=red ctermfg=red
如果您想将其与当前的colorscheme集成,请使用:
hi link MyRegion Keyword
(或评论,标识符,常数等)
注意即可。这意味着该区域在行之前结束下一行开头的下一个-
,+
或*
。因此,以+
开头的两个区域是连续的,您不会注意到突出显示的区别。
如果您希望从+
开始的行中的每个地区到以+
,-
或*
开头的行(包含)然后使用:
syntax region MyRegion start=/^+/ end=/^[-+*].*/