Vim:自定义tex方程高亮

pet*_*ens 4 vim syntax-highlighting tex

如何强制vim突出显示以下环境:

\begin{dmath*}
  2 + 2
\end{dmath*}
Run Code Online (Sandbox Code Playgroud)

同样的方式

\begin{equation*}
 2 + 2
\end{equation*}
Run Code Online (Sandbox Code Playgroud)

?

即我希望dmath环境(在其简单和加星标的版本中)以与equation(普通和加星标)环境相同的方式突出显示.

在此输入图像描述

Ing*_*kat 7

我将您的问题粘贴到Vim中,:setf tex然后使用SyntaxAttr.vim - 在光标插件下显示语法突出显示字符属性,以找出相应的语法组名称texMathZoneES.

然后我打开$VIMRUNTIME/syntax/tex.vim并搜索它.我没有直接找到,但是这样的话:

call TexNewMathZone("E","equation",1)
Run Code Online (Sandbox Code Playgroud)

然后我抬头:help ft-tex-syntax(从命令行通过完成<C-D>),并在:help tex-math一个很好的文档下找到.有了这个,我创建了以下解决方案:

call TexNewMathZone("M","dmath",1)
Run Code Online (Sandbox Code Playgroud)

您可以~/.vim/after/syntax/tex.vim按照建议将其置于永久性状态.容易,不是吗?!