Flutter开发App的未来及其在各行业的应用潜力分析
1119
2022-09-30
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~