代码之家  ›  专栏  ›  技术社区  ›  Amir Rachum

VIM中的智能搜索/更换

  •  1
  • Amir Rachum  · 技术社区  · 14 年前

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

    某物〔0〕

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

    某物0

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

    2 回复  |  直到 14 年前
        1
  •  6
  •   B Johnson    14 年前

    使用这样的模式分组:

    :%s/something\[\(\d\+\)\]/somethingElse\1/g
    
        2
  •  1
  •   Jordan Lewis    14 年前

    您应该使用匹配组和字符类的组合来实现这一点。如果您的示例意味着用某个thingelse(相同的数字)替换某个东西(这里的数字),则可以使用以下命令解决此问题:

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

    这会找到文件中所有有一些内容(一堆数字)的地方,并用一些Thingle替换这些内容。+表示一个或多个数字;如果需要零个或多个数字,可以用*替换。