Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim语法高亮显示隐藏字符_Vim_Vim Syntax Highlighting - Fatal编程技术网

Vim语法高亮显示隐藏字符

Vim语法高亮显示隐藏字符,vim,vim-syntax-highlighting,Vim,Vim Syntax Highlighting,我想为vim实现一个语法文件,它在文件中隐藏某些字符。具体来说,我想编写一个改进的highlighter,用于读取不显示某些格式字符的标记文件,而更倾向于隐式指示它们。例如,我希望像*bold*这样的东西可以简单地呈现为带有粗体文本的粗体,或者像这样的标题 My Header ========= 不显示下划线,只显示不同的颜色。到目前为止,我还没有找到任何vim语法文件的示例,这些文件隐藏了特定字符,无法显示。这在vim中是可能的吗?如果是,如何隐藏?要隐藏语法项或某些字符,可以使用隐藏或忽略

我想为vim实现一个语法文件,它在文件中隐藏某些字符。具体来说,我想编写一个改进的highlighter,用于读取不显示某些格式字符的标记文件,而更倾向于隐式指示它们。例如,我希望像
*bold*
这样的东西可以简单地呈现为带有粗体文本的
粗体
,或者像这样的标题

My Header
=========

不显示下划线,只显示不同的颜色。到目前为止,我还没有找到任何vim语法文件的示例,这些文件隐藏了特定字符,无法显示。这在vim中是可能的吗?如果是,如何隐藏?

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

:help hl-Ignore
:help syn-conceal
有关示例,请参阅语法文件“help.vim”,它是的一部分。CRefVim是嵌入Vim帮助系统的C参考手册。“help.vim”语法文件扩展了帮助文件的标准语法突出显示

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

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


Habi

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

在您的语法中,您需要:

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功能导出它,同时保持高亮显示。

我不能用手指触摸它,但这听起来是个糟糕的主意。Vim用于编辑文本,而不是渲染文本(当然,折叠除外)。如果您想要所见即所得的体验,请寻找使浏览器窗口与编辑的标记文档保持同步的插件。我不记得是哪一个,但以前讨论过