gpt4 book ai didi

vim - 是否可以在 VIM 中对通配符字符串使用查找和替换?

转载 作者:行者123 更新时间:2023-12-03 07:26:31 32 4
gpt4 key购买 nike

例如,我有一堆具有公共(public)前缀和后缀的值,例如:

fooVal1Bar;

fooVal2Bar;

fooVal3Bar;

在这种情况下,所有变量名称都以 foo 开头和结尾,并以 Bar 结尾。我想使用在 fooBar 之间找到的随机变量名称进行查找和替换。假设我已经有变量 Val1Val2Val3Val1OldVal2OldVal3Old 已定义。我会找一个替代品,大致如下:

:%s/foo<AnyString>Bar/foo<AnyString>Bar = <AnyString> + <AnyString>Old

这将导致:

fooVal1Bar = Val1 + Val1Old;

fooVal2Bar = Val2 + Val2Old;

fooVal3Bar = Val3 + Val3Old;

我希望清楚我想要做什么,我在 vim 帮助或在线中找不到任何有关用通配符字符串替换的内容。我能找到的最多的就是搜索通配符字符串。

最佳答案

我相信你想要

:%s/foo\(\w\+\)Bar/& = \1 + \1\Old/

说明:

\w\+ 查找某个字符的一次或多次出现。前面的 foo 和后面的 Bar 确保这些匹配的字符位于 fooBar 之间。

\(...\) 存储这些字符,以便它们可以在替换的替换部分中使用。

& 复制匹配的内容

\1 是在 \(....\) 部分捕获的字符串。

关于vim - 是否可以在 VIM 中对通配符字符串使用查找和替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10336609/

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