gpt4 book ai didi

vim - 在 VIM 中执行多个 %s 命令总是给我错误 E488 : Trailing characters

转载 作者:行者123 更新时间:2023-12-01 22:34:06 26 4
gpt4 key购买 nike

我知道我们对此有很多问题(和答案),但直到现在我都无法解决我的问题。我只需要在同一行中执行这些命令(和其他命令):

%s/request_snapshot\zs\s*=\s*true/ = false
%s/primary_dev\zs\s*=\s*"[^"]*"/ = "vnic"

我已经试过了:

%s/request_snapshot\zs\s*=\s*true/ = false | %s/primary_dev\zs\s*=\s*"[^"]*"/ = "vnic"
%s#request_snapshot\zs\s*=\s*true# = false | %s#primary_dev\zs\s*=\s*"[^"]*"# = "vnic"
%s#request_snapshot\zs\s*=\s*true# = false \| %s#primary_dev\zs\s*=\s*"[^"]*"# = "vnic"

什么也没有。一个很好的答案是不用担心用任何其他字符替换“/”,因为我需要执行很多命令,这会非常痛苦。

最佳答案

单个替换命令不需要最后一个分隔符(通常是斜杠,/),因为它可以被假定。当您使用 | 执行多个命令时,您需要确保您有最后的分隔符。

:%s/foo/bar
:%s/hello/world

会变成:

:%s/foo/bar/e | %s/hello/world/e

注意:我还添加了 e 标志,如果没有发生替换,它会抑制错误,因为这将停止管道。

所以你的最终命令看起来像这样:

%s/request_snapshot\zs\s*=\s*true/ = false/e | %s/primary_dev\zs\s*=\s*"[^"]*"/ = "vnic"/e

关于vim - 在 VIM 中执行多个 %s 命令总是给我错误 E488 : Trailing characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27284272/

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