vim:多次匹配单词并替换

时间:2012-12-11 09:05:24

标签: vim

  

可能重复:
  Repeat match pattern and replace

如何将整个单词与特定模式多次匹配并替换为多行?

示例:

set_path 1 -start -from [get_obj { A_1[0] B_2[1] .... Z_n[100] }]

替换为

set_path 1 -start -from [get_obj {xyz/A_1[0] xyz/B_2[1]  .... xyz/Z_n[100] }]

1 个答案:

答案 0 :(得分:0)

在您的示例中,您可以使用:s@\<\ze[A-Z]_@xyz/@g

细节:

  • :s是替换命令,@是模式和替换分隔符
  • \<在单词
  • 开头匹配
  • \ze与将其余模式作为前瞻性肯定断言具有相同的效果
  • @g允许在同一行上进行多次替换。

如果您需要多行,只需在s前加上:20,30s:%s,或在视觉选择中突出显示您的行时点击: ,命令行将以:'<,'>开头,添加s。