在Markdown中使用Vim语法和Latex数学公式

17

我使用ViM以markdown格式撰写文档,同时使用latex的$$符号插入数学公式(我使用pandoc进行编译)。问题是ViM语法不能忽略美元符号$内部的下划线_,这很烦人。例如,如果我写了这个:

$$ a_1 = 0 $$

那么ViM会将以下所有文本都标记为斜体,因为它使用了下划线。

我该如何更改呢?

同时,如果我能以不同的格式突出显示$内部的内容将会很好。


1
即使您使用vim-pandoc-syntax,这种情况是否仍会发生? - ryuichiro
1个回答

18

我已经将这些行加入到我的 .vimrc 文件中。它适用于同一行内的行内数学公式和块状数学公式。

" This gets rid of the nasty _ italic bug in tpope's vim-markdown
" block $$...$$
syn region math start=/\$\$/ end=/\$\$/
" inline math
syn match math '\$[^$].\{-}\$'

" actually highlight the region we defined as "math"
hi link math Statement

编辑:我后来写了一篇名为Vim syntax highlighting for Markdown, Liquid and MathJax的博客文章。


2
谢谢,非常好用!我已将代码放置在~/.vim/after/ftplugin/markdown.vim中,以保持.vimrc的干净整洁。 - Erwin411
我必须将它放在~/.vim/after/syntax/markdown.vim中(但是,如果您不了解vim语法命令,则无法调试错误。Vi.SE上的问题有一个链接可以使用的插件) - user202729
另外,vim-pandoc-syntax和其他一些插件也支持Markdown语法。 - user202729
这篇博客文章值得一看。它是一个更完整的解决方案。 - Seth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接