在全球范围内附加vim中匹配的术语

Ski*_*man 17 vim

我相信这很容易,我只是错过了一两个角色.

我需要在文件中搜索特定的术语,当我找到它时,我需要在该行中添加一些内容.而且我想在比赛的每一行都这样做.

要做一次,我可以这样做:

/Thing to find/s/$/ Stuff to append/
Run Code Online (Sandbox Code Playgroud)

简单.如果我的"找到的东西"在行的末尾,我可以这样做:

%s/\(Thing to find\)$/\1 Stuff to append/
Run Code Online (Sandbox Code Playgroud)

在每个匹配的行上做同样的事情

但是我如何在每一行上做第一件事呢?

我想我能做到

%s/\(Thing to find.*\)$/\1 Stuff to append/
Run Code Online (Sandbox Code Playgroud)

但是,如果找到的东西不止一次就行了,那就会让人觉得笨拙并且会让它变得更加复杂.

我认为必须有一种方法可以在任何地方进行我的第一次搜索,但是我在撰写简明扼要的描述以进行谷歌搜索时遇到了麻烦.

那么强大的Stackers,有人想让书呆子给我打两个字节的解决方案吗?

Smy*_*ers 33

:g//命令是您正在寻找的 - 它在与模式匹配的每一行上运行命令:

:g/Thing to find/ s/$/ Stuff to append/
Run Code Online (Sandbox Code Playgroud)

  • 头,见面台. (9认同)
  • 哦,你他妈在开玩笑。我没试过?让我去看看。 (2认同)