如何更改 Vim's10=] Markdown 突出显示的折叠样式?

How can I change the folding styles for Vim's built-in highlighing for Markdown?

Vim 的 built-in Markdown 突出显示中折叠 headers 的默认样式是白色背景,很难在视觉上扫描。

如何更改折叠 Markdown 的线条的背景颜色headers?

谢谢!

使用hi [group] ctermbg=[color] guibg=[color]更改组的突出显示背景。

:h :hi 更多用法。

如果你不知道折叠markdown headers的高亮组名。 运行 :echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")') 获取光标下的文本高亮组名。

您可以通过设置 Folded 高亮组来更改折叠高亮样式。 为了更改高亮组的背景颜色,您需要更改 ctermbg(对于终端 Vim)或 guibg(对于 Gvim)。

例如,要将折叠背景更改为白色:

:highlight Folded ctermbg=15

您可以使用 :hi 代替完整的命令名称 :highlight

您需要为 ctermbg 指定颜色编号,可以在 :h highlight-ctermbg.

中找到可接受值的列表

要在 GUI Vim (GVim) 中更改折叠背景颜色,您需要使用 guibg:

:hi Folded guibg=white

您可以在此处查看 guibg 的可接受值列表: :h gui-colors

让它持久化

在当前会话中使用 :highlight(缩写为 :hi)命令仅更改当前会话的突出显示设置。

建议使用autocommand使其持久化。

augroup MyGroup
  autocmd ColorScheme * hi Folded ctermbg=15 guibg=white
augroup END
附加信息

您可以在 .vimrc 中输入 hi Folded ctermbg=15 guibg=white 以使折叠线的背景颜色变为白色。 但是,有了这个,当您打开 Vim 或 .vimrc 被 :source 命令重新加载时,会调用 :hi 命令。 因此,如果您在会话中更改配色方案,您的突出显示设置将被重置。 对于上面的 autocmd 为什么,如果触发 ColorScheme 事件(= colorscheme 已更改),则会调用 autocmd。