我正在隐藏帮助文件以突出显示/着色特定文本字符串。这个工作正常,直到我添加: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 line..
示例符合我的要求
但是,如果我有一个像
这样的字符串: %s/[[:print:]]//g :
即第二个图像,然后按预期隐藏所有:
。
我正在寻找一种方法来逃避第二个和第三个:
,因此无需在帮助文件中编写: %s/[:print:]//g :
就可以隐藏它们。
: %s/[: :print: :]//g :
为了实现第二个例子
作为一种解决方法,我已将匹配命令更改为
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-vimscript。