在一行中,Vim如何只匹配搜索模式的最后一次出现?有点像非贪婪,但从一开始。
e.g。在以下行中,我想匹配Twinkle little star
(以粗体突出显示):
Twinkle blah Twinkle blah blah Twinkle little star 。
我尝试了如下的负面预测,但它匹配整行:
Twinkle.*\(Twinkle\)\@!$
答案 0 :(得分:6)
转义括号并在锚之前添加通配符:
Twinkle\(.*Twinkle\)\@!.*$
^ ^ ^^
答案 1 :(得分:2)
/\v.*\zsTwinkle.*
使用“:set incsearch”,将一些文本加载到缓冲区中,然后开始键入模式以查看它是如何应用的。
例如,缓冲区:
Twinkle brightly little star
Twinkle brightly, Twinkle brightly little star
替换:
:%s/\v.*\zsTwinkle /&extra /
给出:
Twinkle extra brightly little star
Twinkle brightly, Twinkle extra brightly little star