我想为vim实现一个隐藏文件中某些字符的语法文件。具体来说,我想编写一个改进的荧光笔来读取没有显示某些格式化字符的Markdown文件,而是倾向于隐式地指示它们。例如,我希望将*bold*
之类的内容简化为带有粗体文字的bold
,或者标题为
My Header
=========
不显示下划线,但只显示不同的颜色。到目前为止,我还没有设法找到任何隐藏显示特定字符的vim语法文件的例子。这是vim可能的吗?如果是这样,怎么样?
答案 0 :(得分:12)
要隐藏语法项 - 或仅隐藏某些字符 - 可以使用隐藏或忽略参数。见
:help hl-Ignore
:help syn-conceal
有关示例,请参阅语法文件“help.vim”,它是crefvim的一部分。 CRefVim是一个嵌入Vim帮助系统的C参考手册。 “help.vim”语法文件扩展了帮助文件的标准语法高亮显示。
一个例子。这里使用'$'字符以斜体显示文本:
也许这个例子是你进一步挖掘的好起点......
哈比
答案 1 :(得分:1)
你可以用相应的colortheme制作你自己的语法文件,使用“粗体”,“斜体”等。它不会隐藏任何内容,因此您的语法必须与原始文本一起使用。 例如,这可能是标题
的语法在您的语法中,您需要:
syn match Header '^\s*\u*\.\s.*$' contains=ALL
hi link Header ModeMsg
和colortheme
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功能导出它,同时保持突出显示。