vim正则表达式替换量词

时间:2017-04-13 11:49:46

标签: regex search vim replace

如何量化vim搜索/替换表达式的替换部分?

DocumentTypes

将用4 y替换每次出现的4 x。

:%s/x\{4\}/yyyy/g 

用" y {4}"

取代4 x'

我如何修改它,以便我不必插入4个单独的y,而是#34;量化"一个人。

2 个答案:

答案 0 :(得分:3)

解决方案似乎比它的价值更麻烦:

:%s/w\{4}/\=repeat('y',4)/g

答案 1 :(得分:0)

OP写道:

  

使替换子句重复4 y的正确格式是什么   后跟find子句中的字符(后引用),即   如何将4 x替换为4 y's

<强>答案

xxxx的所有出现替换为四个y,然后进行反向引用

%s/\(x\{4\}\)/\=repeat('y',4).submatch(1)/g

<强>前

hello xxxx there xxxx end

<强>后

hello yyyyxxxx there yyyyxxxx end

感谢 @romainl 获取原始答案,感谢 @Ingo Karkat 获取answering a similar question