7

我想为 vim 实现一个语法文件,隐藏文件中的某些字符。具体来说,我想编写一个改进的荧光笔来读取不显示某些格式字符的 Markdown 文件,而是更喜欢隐式地指示它们。例如,我想用粗体文本*bold*简单地呈现之类的东西,或者有像这样的标题bold

My Header
=========

不显示他们的下划线,而只是出现不同的颜色。到目前为止,我还没有找到任何隐藏特定字符的 vim 语法文件示例。这在vim中是可能的吗?如果是这样,怎么做?

4

2 回答 2

14

要隐藏语法项目 - 或只是某些字符 - 可以使用隐藏或忽略参数。看

:help hl-Ignore
:help syn-conceal

有关示例,请参见 crefvim 的一部分的语法文件“help.vim 。CRefVim 是嵌入在 Vim 帮助系统中的 C 参考手册。"help.vim" 语法文件扩展了帮助文件的标准语法高亮。

一个例子。此处使用“$”字符以斜体显示文本:

关于如何使用忽略语法参数的示例,help.vim

也许这个例子是你进一步挖掘的一个很好的起点......

哈比

于 2011-10-11T21:15:23.527 回答
1

您可以使用“粗体”、“斜体”等创建具有相应颜色主题的自己的语法文件。它不会隐藏任何内容,因此您的语法必须与原始文本一起使用。例如,这可能是您的标题语法

在您的语法中,您需要:

syn match Header '^\s*\u*\.\s.*$'  contains=ALL
hi link Header   ModeMsg

在颜色主题中

hi ModeMsg gui=bold guifg=NONE guibg=NONE cterm=bold ctermfg=NONE ctermbg=NONE term=bold

然后是这样的标题

1. This is my new header, being bold

将显示为粗体,根本没有任何标记。顺便说一句,您可以使用 TOhtml 功能将其导出,同时保持突出显示。

于 2012-01-09T11:44:28.753 回答