matchgroup
vimのsyntax hilightingは、複雑ですね。vimを6.4に変えたら、どうやらtexのsyntax hilightingの定義が変わってしまったようで、 \begin{document}と\end{document}で囲まれた部分のhilightingが、うまくいかなくなった。
ということで、重い腰を上げてsyntax hilightingの理解開始。
matchgroup、regionの始点終点を定義するパターンに対して、そのregion自身とは別のsyntax名を付けるための仕組み。
例えば、
syntax region A start=/->/ end=/<-/
では、->と<-で囲まれた部分にAという名前を付けて、領域Aに対する色付けがなされる。その際、領域の始終点を定義している->, <-に対しても、領域Aに対する色付けがなされてしまう。
でも、領域の始終点には、別の色を付けたくなるのが人情というもの。でnatchgroupの登場。
syntax region A matchgroup=RegionStart start=/->/ matchgroup=RegionEnd end=/<-/
とすると、開始マークの->に対してはRegionStart色が、終了マークの<-にはRegionEnd色が付くそうな。
ほほぅ。