Vim 转义包含在隐藏命令脚本中的字符
我正在使用帮助文件中的隐藏来突出显示/显示特定于颜色的文本字符串。在我添加下面的:print:示例之前,这一切都很正常 遮遮掩掩 使用这个隐藏了所有的:正如预期的那样,所以我试图避开单词print: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.\{-}\
:%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上的问题中,我不知道您的问题是什么,也不知道您到底想实现什么。请更正图像标签,这在原始帖子中是可以的。如果我知道如何操作,我会接受编辑:(我将更新我试图实现的目标以澄清。