7

我想在 vim 中搜索一个模式,并在它出现的每一行上,将文本添加到行尾。例如,如果搜索模式是print(并且要添加的文本是)

from __future__ import print_function
print('Pausing 30 seconds...'
print("That's not a valid year!"

应该成为

from __future import print_function
print('Pausing 30 seconds...')
print("That's not a valid year!")
4

2 回答 2

12

这个命令应该为你做:

:g/print(/norm! A)

它能做什么:

:g/print(/   "find all lines matching the regex
norm! A)     "do norm command, append a ")" at the end of the matched line.

你可能想检查

:h :g

详情。

于 2013-09-18T20:54:51.030 回答
1

要将文本添加到以某个字符串开头的行尾,请尝试:

:g/^print(/s/$/)

请参阅:g 的幂 -进一步解释的示例。

于 2015-11-11T00:38:16.517 回答