Vim:有没有办法使用vim生成一个自动递增的数字序列?
Vim: Is there a way to generate an auto-increment sequence of numbers using vim?
我想要的是像“1 & 1.5 & 2 & 2.5 & 3 & 3.5 & 4”这样的序列。
我发现 :for i in range(1,10)|put='& '.i|endfor
可以生成数字序列。问题是它不接受小数作为步长,它会自动生成换行符。我也试过 vim 宏。同样,ctrl+a 命令会将所选数字增加 1 而不是 0.5。
PS:我的母语不是英语。我希望你能明白我的意思。非常感谢。
你可以通过除以 2.0 强制 .5
:put=map(range(5), 'v:val/2.0')
您需要 join()
在中间添加符号
:put=join(map(range(5), 'v:val/2.0'), ' & ')
我想要的是像“1 & 1.5 & 2 & 2.5 & 3 & 3.5 & 4”这样的序列。
我发现 :for i in range(1,10)|put='& '.i|endfor
可以生成数字序列。问题是它不接受小数作为步长,它会自动生成换行符。我也试过 vim 宏。同样,ctrl+a 命令会将所选数字增加 1 而不是 0.5。
PS:我的母语不是英语。我希望你能明白我的意思。非常感谢。
你可以通过除以 2.0 强制 .5
:put=map(range(5), 'v:val/2.0')
您需要 join()
在中间添加符号
:put=join(map(range(5), 'v:val/2.0'), ' & ')