gpt4 book ai didi

vim - 仅在 Vim 的匹配搜索中替换字符串

转载 作者:行者123 更新时间:2023-12-05 01:39:33 25 4
gpt4 key购买 nike

我知道您可以使用 Vim 替换文件中的某些模式:

:%s/<pattern>/<replacement>/g

我想做的是仅在辅助搜索匹配的情况下执行模式替换,例如:如果我的文件中有以下行:

00_sub_5_train
01_sub_6_train
02_sub_5_train
03_sub_9_train
04_sub_8_train
05_sub_5_train
06_sub_5_train

我想执行::%s/train/not_train/g 仅在找到字符串 'sub_5' 的行上,这样剩下的就是:

00_sub_5_not_train
01_sub_6_train
02_sub_5_not_train
03_sub_9_train
04_sub_8_train
05_sub_5_not_train
06_sub_5_not_train

这可能吗?

最佳答案

您可以直接应用下面的图案。您可以使用 sub_5_train

完全应用该模式
:%s/sub_5_train/sub_5_not_train/g

根据评论,如果您在 sub_5 后有不同的内容,您可以进行条件替换,如下所示:

:g/sub_5/ s/train/not_train

在这里,如果我们找到 sub_5,我们将只对该行进行替换。

基本上,我正在尝试使用如下所示的 g 命令。在这里,对于 cmd,我使用替代命令。 more on vim g command

:[range]g/pattern/cmd

关于vim - 仅在 Vim 的匹配搜索中替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58096643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com