当 VIM 中该行包含另一个字符串时查找并替换该字符串

use*_*528 2 vim replace

我试图弄清楚如何替换文件中每一行的单词或字符串(如果它包含 vim 中的另一个字符串)。例如,给定一个包含以下内容的文件:

Hello World Test
This is a Hello Test
World This Test Hello a
Run Code Online (Sandbox Code Playgroud)

我想用 Apple 替换 Test,其中该行包含 Hello 和 World 一词。我将使用搜索语句来查找包含 Hello 和 World 的行(不分顺序)。但我该如何在这些方面提出 Test 的替代品呢?

查找语句示例:

/\(Hello.*World\)\|\(World.*Hello\)
Run Code Online (Sandbox Code Playgroud)

更新文件示例

Hello World Apple
This is a Hello Test
World This Apple Hello a
Run Code Online (Sandbox Code Playgroud)

mel*_*ene 6

您可以使用:global以下命令:

:g/Hello.*World\|World.*Hello/s/Test/Apple/g
Run Code Online (Sandbox Code Playgroud)

s/Test/Apple/g在这里,我们在所有匹配的行上运行替换命令Hello.*World\|World.*Hello