Vim匹配基于行的开头

时间:2011-11-16 09:19:55

标签: vim

我有一个文件,其中一行可以以+-*开头。在其中一些行之间可以有行(包含那些字符,但不包含在第1列中!),以字母或数字(一般文本)开头。

了解这一点,设置匹配和放大器的最简单方法是什么?突出显示机制,以便突出显示以+开头的行和所有后续行,直到第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=/^[-+*].*/