Vim 转义包含在隐藏命令脚本中的字符

Vim 转义包含在隐藏命令脚本中的字符,vim,syntax-highlighting,viml,Vim,Syntax Highlighting,Viml,我正在使用帮助文件中的隐藏来突出显示/显示特定于颜色的文本字符串。在我添加下面的:print:示例之前,这一切都很正常 遮遮掩掩 使用这个隐藏了所有的:正如预期的那样,所以我试图避开单词print: :%s/[^[:print:]]//g : 最初的声明是: syntax match myIgnoreHc /[:#]|[#:]/ contained conceal -Oopswrong original syn match myhelpCommentHc "[:#]\s.\{-}\

我正在使用帮助文件中的隐藏来突出显示/显示特定于颜色的文本字符串。在我添加下面的:print:示例之前,这一切都很正常

遮遮掩掩

使用这个隐藏了所有的:正如预期的那样,所以我试图避开单词print:

:%s/[^[:print:]]//g :
最初的声明是:

syntax match myIgnoreHc /[:#]|[#:]/ contained conceal -Oopswrong original
syn match myhelpCommentHc       "[:#]\s.\{-}\s[:#]\s" contains=myIgnoreHc
我将匹配更改为:

syntax match myIgnoreHc /[:#]\s\S\|\S\s[#:]/ contained conceal 
如果我把
:print:
写成
::print:

但是,我更愿意在某些情况下转义或告诉解析器忽略匹配,例如,
,因为
:print:
不是我想要的:)

我正在努力实现的目标

我正在使用以下内容隐藏比赛的开始和结束元素,请参见图

syntax match myIgnoreHc /[:#]\s\S\|\S\s[#:]/ contained conceal 
syn match myhelpCommentHc       "[:#]\s.\{-}\s[:#]\s" contains=myIgnoreHc
图像中的
:/if行..
示例符合我的要求

但是如果我有一个像

: %s/[[:print:]]//g :
ie第二个图像,然后所有
都被隐藏,正如预期的那样

我正在寻找一种方法来避开第二个和第三个
,这样它们就不会被隐藏,而不必像这样在帮助文件中写入
:%s/[:print:///g:

: %s/[: :print: :]//g :
为了实现第二个示例

作为一种解决方法,我将match命令更改为

syntax match myIgnoreHc /\^\*\s\|\s\^\*\s/ contained conceal 
syn match myhelpCommentHc   "\^\*\s.*\s\^\*\s" contains=myIgnoreHc
在我用第二个^*字符串编写帮助之前,它一直有效

有什么建议吗


注意:这篇文章是以下内容的副本,因为我在那里找不到答案:。

从您在vi.stackexchange上的问题中,我不知道您的问题是什么,也不知道您到底想实现什么。请更正图像标签,这在原始帖子中是可以的。如果我知道如何操作,我会接受编辑:(我将更新我试图实现的目标以澄清。