vim的2个高亮匹配函数

网友投稿 1135 2022-09-30

vim的2个高亮匹配函数

vim的2个高亮匹配函数

matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])

在当前窗口,​​定义​​​待高亮模式,会用​​{group}​​​高亮组高亮.返回可用​​matchdelete()​​​的​​(ID)​​​.其中​​ID​​​是和窗口绑定的. 匹配区分​​​大小写​​​且带​​魔术​​​的,但可在​​{pattern}​​​里显式关闭.不用​​'magic','smartcase'​​​和​​'ignorecase'​​​选项.​​"Conceal"​​​值可​​隐藏​​​匹配. 可选的​​​{priority}​​​参数指定​​匹配​​​优先级.高优先级的匹配的高亮比低​​优先级匹配​​​优先.​​优先级​​​用整数指定(负数也可以).如果未指定​​{priority}​​​参数,缺省优先级为​​10​​​.​​'hlsearch'​​​优先级为​​零​​​,这样所有​​正优先级​​​的匹配都可以​​覆盖​​​它.​​语法​​​高亮采用不同机制,不论优先级如何,​​匹配​​​总会否决​​语法​​高亮.

可选的​​{id}​​​参数允许​​请求​​​特定的匹配​​ID​​​.如果指定的​​ID​​​已用,报错,且不加入该匹配.​​ID​​​用正整数指定(不含零).​​ID1,2和3​​​分别为|​​:match​​​|,|​​:2match​​​|和|​​:3match​​​|命令保留.如果未指定​​{id}​​​或为​​-1​​​,​​matchadd()​​​自动选择​​可用​​​的​​ID​​.

可选的​​{dict}​​​参数允许​​更多定制​​​.目前,可指定​​特定​​​匹配的可使用​​hl-Conceal​​​高亮匹配来显示的​​隐藏​​​字符.​​字典​​有以下成员:

​​conceal​​​:要显示的​​特殊字符​​​,而非​​匹配​​​(仅用于​​hl-Conceal​​​高亮的匹配).​​​window​​​:不使用​​当前​​​窗口,而使用​​指定窗口号​​​或窗口​​ID​​​的其它窗口.匹配数目不限,而​​:match​​​则有此局限.错误,则返回​​-1​​​. 示例:

:highlight MyGroup ctermbg=green guibg=green:let m = matchadd("MyGroup", "TODO")

要删除该模式

:call matchdelete(m)

用|​​getmatches()​​​|可得到|​​matchadd()​​​|和|​​:match​​​|定义的匹配列表.|​​clearmatches()​​​|可一次删除​​所有​​匹配.

matchaddpos()

matchaddpos({group},{pos}[,{priority}[,{id}[,{dict}]]])

与|​​matchadd()​​​|相同,但需要​​{pos}​​​位置列表而非​​匹配模式​​​.比|​​matchadd()​​​|更快.主要用于需要​​快速增加​​​或​​删除​​​匹配的场合,如​​匹配括号​​​高亮.​​​{pos}​​​列表可为: 1,​​​数值​​​.高亮整行.首行行号为​​1​​​. 2,​​​单个数值​​​列表.如​​[23]​​​.高亮有​​该数​​​行. 3,包含​​​两个数值​​​列表,如​​[23,11]​​​.前面​​数​​​是行号,​​后面​​​是列号(首列为​​1​​​,值对应|​​col()​​​|返回的字节索引).则高亮此位置字符. 4,包含​​​三个数值​​​列表,如​​[23,11,3]​​​.同上,但​​第三个​​​数给出​​高亮​​​的​​字节​​​长度.数组最大为​​8​​​个.返回​​-1​​​表错误. 示例:

:highlight MyGroup ctermbg=green guibg=green:let m = matchaddpos("MyGroup", [[23, 24], 34]):call matchdelete(m)//删匹配

|​​getmatches()​​​|返回|​​matchaddpos()​​​|添加的​​匹配​​.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vim的conceal
下一篇:如何实现小程序中表单提交后自动清空内容(表单提交后自动清空表单内容)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~