如何量化vim搜索/替换表达式的替换部分?
:%s/x\{4\}/yyyy/g
这段代码会将每个4个x的组合替换为4个y。
:%s/x\{4\}/y\{4\}/g
将4个x替换为"y{4}"
如何修改以避免插入4个单独的y,而是“量化”一个单一的y。
:%s/w\{4}/\=repeat('y',4)/g
OP 写道:
正确的格式是什么,以便在查找子句(反向引用)中重复 4 个 y 的字符后跟随替换子句,即如何用 4 个 x 替换为 4 个 y
回答
将所有出现的 xxxx
替换为四个 y
,后面跟着一个反向引用
%s/\(x\{4\}\)/\=repeat('y',4).submatch(1)/g
之前
hello xxxx there xxxx end
之后
hello yyyyxxxx there yyyyxxxx end
感谢@romainl提供的原始答案,以及@Ingo Karkat回答类似问题的帮助
%s/\(x\{4\}\)/\=repeat('y',4).submatch(1)/g
- Jim U