我有一个文件,其中一行可以以+
,-
或*
开头。在其中一些行之间可以有以字母或数字(通用文本)开头的行(也包含这些字符,但不在第1列中!)。
知道了这一点,最简单的方法就是设置匹配和突出显示机制,从而使一条以+
开头的行以及所有后续行,直到一行中以+
,-
或*
开头的行第1栏会以...红色突出显示吗?
欢迎所有想法。
最佳答案
您可以使用:
syntax region MyRegion start=/^+/ end=/\ze\n[-+*]/
hi MyRegion guifg=red ctermfg=red
如果您想将其与当前的配色方案集成,请使用:
hi link MyRegion Keyword
(或注释,标识符,常量等)
注意。这意味着该区域在下一行
-
,+
或*
的下一行之前开始。因此,两个以+
开头的区域是连续的,并且您不会注意到突出显示的不同。如果要从以
+
开头的行到以+
,-
或*
开头的行(含)的每个区域,请使用:syntax region MyRegion start=/^+/ end=/^[-+*].*/