使用vim在第n行中插入相同字符

使用vim在第n行中插入相同字符,vim,sequences,Vim,Sequences,我想插入一系列数字,但我需要在n行中重复每个数字,我的意思是: Original file New file 1 1,1 2 1,2 3 1,3 4 2,4 5 2,5 6 2,6 7 3,7 8 3

我想插入一系列数字,但我需要在n行中重复每个数字,我的意思是:

Original file       New file
1                   1,1
2                   1,2
3                   1,3
4                   2,4
5                   2,5
6                   2,6
7                   3,7
8                   3,8
9                   3,9

您可以使用
:help sub replace expr
。一个简单的
*
将匹配该数字,然后您可以使用
子匹配(0)
来处理匹配结果:

:%s#.*#\=(submatch(0)+2)/3 . ',' . submatch(0)#

我现在没有时间研究一个合适的答案,但看看宏:它们允许你记录一系列命令并重复。使用
awk更容易操作
awk我如何使用awk来实现这一点?嗨,Ingo,我还有一个问题。现在我需要插入一个序列,直到我之前插入的数字不变。我的意思是,现在我想插入序列123123。试着算出数学;Vim中的模运算符为编号%3