使用 ex 命令搜索并替换两个单词

使用 ex 命令搜索并替换两个单词

我想用一个g/.../s/.../.../g命令搜索 2 个单词并将其替换为另外 2 个单词。例如,使用 Vim 中的一个 ex 命令将单词“car”替换为“truck”,将“cat”替换为“dog”。

答案1

交换字符串.vim插件可以优雅地做到这一点:

:%SwapStrings car truck
:%SwapStrings cat dog

可以找到更多替代方案这里

答案2

您可以使用\=允许运行vim代码的特殊替换:

例如,交换foobar

%s/foo\|bar/\=submatch(0) == "foo" ? "bar" : "foo"/g

或者举个例子:

%s/ca[rt]/\=submatch(0) == "car" ? "truck" : "dog"/g

看:

:h sub-replace-expression

了解详情。

答案3

:%s/foo/bar/gc 

该命令将 foo 更改为 bar!

:%s 是 vim 的替代品

答案4

|您可以使用, 作为命令分隔符连续执行多个命令。

%s/cat/dog/g|%s/car/truck/g

相关内容