【问题标题】:Smart search/replace in VimVim 中的智能搜索/替换
【发布时间】:2011-03-04 22:15:15
【问题描述】:

我有一个包含以下表达式的文件:

某事[0]

其中可能有不同的数字而不是 0。我想用

替换所有这些发生

somethingElse0

其中的数字应该与我替换的表达式中的相同。我该怎么做?

【问题讨论】:

    标签: vim vi replace


    【解决方案1】:

    像这样使用模式分组:

    :%s/something\[\(\d\+\)\]/somethingElse\1/g
    

    【讨论】:

    • \d 比较简单,我猜他可能有几个数字 -> \d\+
    【解决方案2】:

    您应该结合使用匹配组和字符类来完成此操作。您的示例,如果您的意思是用 SomethingElse(same-numbers) 替换 Something(numbers-here),则可以使用以下命令解决:

    :%s/Something\(\d\+\)/SomethingElse\1/g
    

    这会查找文件中所有包含Something(a-bunch-of-digits)的位置,并将Something替换为SomethingElse。 + 表示一位或多位数字;如果你想要零个或多个数字,你可以用 * 替换它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 2011-05-04
      • 2011-11-09
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      相关资源
      最近更新 更多