21

我需要一个 vim 命令来删除文件中所有行的特定单词之前的所有字符

例如: 输入:

asdfasdfasdfscccHello

qwerqwerHello

24351243vsfgertHello

输出:

Hello

Hello

Hello
4

1 回答 1

49

如果你想删除“Hello”之前的所有字符,你可以这样做

:%s/.*Hello/Hello/

请注意,这.*是贪婪的,即它会吃掉所有出现的“Hello”,直到找到最后一个。如果你有一条线:

abcHellodefHelloghi

它会变成

Helloghi

如果您想要一个非贪婪的解决方案,请尝试

:%s/.\{-}Hello/Hello
于 2013-06-16T19:20:06.800 回答