:%s/one/two/
会将one
的第一次替换为two
。是否有一种简单的方法来替换 last 事件?
我不能认为它是在行尾的旁边,并且在最后一次出现“抢”使用时没有任何独特之处,类似于:
one two three one two three one two one two one two ...
答案 0 :(得分:41)
最简单的方法是在匹配前允许任意文字,并使用\zs
指定匹配的区域:
:%s/.*\zsone/two/
答案 1 :(得分:12)
因为。*贪婪,这应该有效:
:%s/\(.*\)one/\1two/
答案 2 :(得分:3)
如果你想在一行中替换一个单词,你也可以说:
$?one<CR>cetwo<ESC>
这将转到该行的末尾($
)并向后找到单词one
(?one<CR>
)。然后它将更改(c
)所有内容直到字词e
的 end (two
)。当然,您可以使用e
,E
,f
等来改变F
。你甚至可以说c17l
来改变接下来的17个字符。