在 Latex 中突出显示 viml?

在 Latex 中突出显示 viml?

我想在我的 latex 文档中对 vim 脚本进行语法高亮。因此,如果我写

\begin{lstlisting}
autocmd FileType c setlocal expandtab shiftwidth=4 tabstop=4 softtabstop=4
\end{lstlisting}

它应该突出显示这个 viml 源。

我到处搜索,但没得到任何好的结果,因为谷歌不明白我想要什么。所以也许是我的错,因为我不知道如何使用谷歌,或者是谷歌的错,因为它无法理解我。有没有什么包/设置/foobar 可以帮助我做到这一点?

答案1

由于 vim 脚本不是 listings 包中内置分析器支持的语言之一,因此您必须:

  1. 编写一个列表分析器,
  2. 替换另一个分析器并调整关键字(sh 分析器是否足够?),
  3. 找到一个可以替代 Latex 的荧光笔。Minted/Pygments 不支持 vim 脚本,但编写自己的支持可能会更容易,或者
  4. 切换到上下文:上下文的 Vim 模块支持 vim 脚本;参见https://tex.stackexchange.com/a/73109/175

对于第四个选择,您可以在上下文中输入:

\usemodule[vim]
\definevimtyping[VIM][syntax=vim]

\starttext
\startVIM
  autocmd FileType c setlocal expandtab shiftwidth=4 tabstop=4 softtabstop=4
\stopVIM
\stoptext

相关内容