Vim:搜索模式并将文本添加到每行发生的末尾

时间:2013-09-18 20:52:10

标签: search vim replace

我想在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!")

2 个答案:

答案 0 :(得分:11)

此命令应该为您完成:

: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

了解详情。

答案 1 :(得分:1)

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

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

有关详细说明,请参阅:Power of g - Examples