vim中字符串匹配,如何做到如下效果。比如 name abc name aed name ... 要求匹配name后面的部分。谢谢
3个回答
展开全部
在 vim 里面,搜索/替换的时候,可以使用 \zs 指定匹配位置的开始,比如 abc\zs123 则会匹配前面有 abc 的 123。
你说匹配 name 后面的部分,我不大明白,以你的例子来说,空格abc空格name空格aed空格name...都是 name 后面的部分。如果你是想匹配 abc, aed 之类的,那可以用 name \zs\w* 或者 name \zs[^ ]* 之类的,看你文本的特点了。
你说匹配 name 后面的部分,我不大明白,以你的例子来说,空格abc空格name空格aed空格name...都是 name 后面的部分。如果你是想匹配 abc, aed 之类的,那可以用 name \zs\w* 或者 name \zs[^ ]* 之类的,看你文本的特点了。
更多追问追答
追问
我是想高亮verilog,比如parameter xxx;首先我想实现高亮xxx,这个用你说的办法就能实现了。我真正想实现的是只要文本中有parameter xxx就高亮整个文本所有的xxx。请问这个该怎么实现呢?
追答
你可以试试 /parameter xxx/ | /xxx
当文本中不存在 parameter xxx 的时候, /parameter xxx/ 出错,不执行后面的 /xxx,否则执行,于是就高亮了 xxx
展开全部
可以换个思路,通过自定义设置语法高亮的方式让后面的参数产生不同的色彩,方法可参考vim用户手册中的“自定义语法高亮”章节来设置。下面给个参考:
:syntax clear
:syntax region xString start=/name /ms=e end/[ \n]/ oneline
:highlight link xString Type
:syntax clear
:syntax region xString start=/name /ms=e end/[ \n]/ oneline
:highlight link xString Type
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
\(name\)\@<=\(.\(name\)\@!\)\+
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询