我正在使用帮助文件中的隐藏来突出显示/着色特定的文本字符串。在我添加下面的 :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:
as: :print :
但是,我更愿意转义或告诉解析器在某些情况下忽略匹配,例如::
,或者##
因为这:print :
不是我所追求的:)。
我想要达到的目标
我正在使用以下内容来隐藏比赛的开始和结束元素,参见图片
syntax match myIgnoreHc /[:#]\s\S\|\S\s[#:]/ contained conceal
syn match myhelpCommentHc "[:#]\s.\{-}\s[:#]\s" contains=myIgnoreHc
图像中的: /if line..
示例做了我想要的
但是,如果我有一个像
: %s/[[:print:]]//g :
即第二个图像,然后所有图像都:
被隐藏,正如预期的那样。
我正在寻找一种方法来逃避第二个和第三个,:
这样它们就不会被隐藏,而不必: %s/[:print:]//g :
在帮助文件中写入 .
: %s/[: :print: :]//g :
为了实现第二个例子
作为一种解决方法,我将 match 命令更改为
syntax match myIgnoreHc /\^\*\s\|\s\^\*\s/ contained conceal
syn match myhelpCommentHc "\^\*\s.*\s\^\*\s" contains=myIgnoreHc
在我用第二个 ^* 字符串编写帮助之前,它一直有效
有什么建议么?
注意:这篇文章是以下内容的副本,因为我无法在那里得到答案:https ://vi.stackexchange.com/questions/5850/escaping-a-character-included-in-a-conceal-command-脚本。