1 aaa bbb aaa 2 aaa ccccccccc aaa 3 aaa xx aaa
如何将每行的第二 aaa替换为yyy
1 aaa bbb yyy 2 aaa ccccccccc yyy 3 aaa xx yyy
答案 0 :(得分:2)
发出以下命令将解决您的问题。
:%s/\(aaa.\{-}\)aaa/\1yyy/g
答案 1 :(得分:1)
另一种方式是\zs
和\ze
,它标记模式中匹配的开始和结束。所以你可以这样做:
:%s/aaa.*\zsaaa\ze/yyy
换句话说,找到“aaa”后跟任何东西然后再找到另一个“aaa”,并用“yyy”替换它。
如果你在一行上有三个“aaa”,这将不起作用,你应该使用\{-}
而不是*
。 (见:h non-greedy
)