gpt4 book ai didi

ubuntu - 使用 VI 搜索/替换多行

转载 作者:行者123 更新时间:2023-12-04 18:46:19 25 4
gpt4 key购买 nike

我正在尝试使用 VI 在 Ubuntu 上编辑文件,以便可以使用两行搜索/替换。这些行通常在每个文件的不同行上(所以我不能使用按行搜索),我正在寻找的文本是

[wan2]
#disable = yes

它们总是一个接一个,我希望将其从上面更改为下面
    [wan2]
disable = yes

我已经尝试了几种不同的方法,但我不断得到以下信息:
E486: Pattern not found: [wan2]\n#disable = yes 

下面和一些细微的改动与我来的时候差不多,我希望这是我可以解决的愚蠢问题,但我有点难过。
:s/[wan2]\n#disable = yes /[wan2] \ndisable = yes

最佳答案

防爆命令

最可靠的方法是使用 Ex 命令:

:/wan2/+1s/^#//

这运行 s/^#//在字符串 wan2 出现之后的行上
/wan2/+1 表示.作为 Ex 命令,它的优点是可以在所有 Vi 实现中工作(不仅仅是 Vim)。

Vim 替换

你的 Vim 替换命令没有转义方括号,所以 [wan2]部分正则表达式将被解释为用于匹配的字符集合。此外,"is"之后的尾随空格可能会阻止匹配。在 Vim 中,以下内容也应该适用于您:
:s/\[wan2\]\n#disable = yes/[wan2]\rdisable = yes/

关于ubuntu - 使用 VI 搜索/替换多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37857371/

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