是否有可能在至少以下编辑器之一的 Markdown 语法中使用彩色标题:Sublime Text 3、Vim 或 Visual Studio 代码?

Is it possible to have multicolored headings in markdown syntax in at least one of these editors: Sublime Text 3, Vim or Visual Studio Code?

基本上我希望我的标题看起来像这样:

如何在 markdown 语法中完成此操作?我更喜欢 sublime text,但如果我能在 Sublime Text 3,Vim 或 Visual Studio 代码中实现这一点,我会很高兴。最后,如果让副标题产生多色很困难,那么,我怎么能将所有标题的主题标签颜色更改为相同的颜色。例如,我所有的标题都有绿色主题标签,但标题字体颜色为 #FFFFFF.

感谢您的帮助。

在 Vim 中,您可以通过在名为 ~/.vim/after/syntax/markdown.vim 的新文件中添加以下内容来覆盖您的配色方案:

syn match    customHeader1     "^# "
syn match    customHeader2     "^## "
syn match    customHeader3     "^### "
syn match    customHeader4     "^#### "
syn match    customHeader5     "^##### "

highlight customHeader1 ctermfg=34
highlight customHeader2 ctermfg=32
highlight customHeader3 ctermfg=127
highlight customHeader4 ctermfg=45
highlight customHeader5 ctermfg=220

它创建 5 个语法组(customHeader1customHeader4)匹配给定的正则表达式。然后它定义这些组的颜色。

34、32、127、45、220 是颜色,它们应该与您的示例匹配。它呈现如下:

此外,您还需要:

syntax on

在你的 .vimrc

使用 Sublime Text 3,您还可以为 3 个 header 级别定义一种特定颜色。

如果您已经有一个带有特定降价颜色的主题,请编辑您的 .tmTheme 文件并搜索

<string>markup.heading, markup.heading punctuation</string>

这是用于所有标题级别的默认标题颜色。

如果您为该条目复制 parent 块,您可以通过像这样更改 为第一个标题级别(# in markdown)添加特定颜色:

<string>markup.heading.1, markup.heading.1 punctuation</string>

如果你再复制一个你可以改变第二层的颜色(markdown 中的##):

<string>markup.heading.2, markup.heading.2 punctuation</string>

其他级别###等未定义,因此您无法为它们添加特定颜色(但实际上如果您修改Markdown.sublime-syntax[=32仍然可以=] 文件并将其扩展到其他标题级别,使用与 1 级和 2 级标题相同类型的模式代码)