Vim 替换一定范围内的数字

Vim 替换一定范围内的数字

在 vim 中可以用 替换1-101,2,3,4,5,6,7,8,9,10

我并不是说:s:1-10:1,23,4,5,6,7,8,9,10像命令那样会查看范围并进行适当的替换。

答案1

这将完成你想要的:

:%s/\(\d\+\)-\(\d\+\)/\=join(range(submatch(1),submatch(2)),',')/g

当然,您可能希望将其放在用户定义的命令中:

 :command! -nargs=0 RangeReplace %s/\(\d\+\)-\(\d\+\)/\=join(range(submatch(1),submatch(2)),',')/g

相关内容