在一行中,我希望将其转为:
"".format(...)
进入这个:
"{0}, {1}, {2}, ..... {n}".format(...)
n
我希望重复的元素数量在哪里。无需手动插入每个参数。
在一行中,我希望将其转为:
"".format(...)
进入这个:
"{0}, {1}, {2}, ..... {n}".format(...)
n
我希望重复的元素数量在哪里。无需手动插入每个参数。
我不知道这种方式是否适合您:
"I(cursor here)
".format(...)
执行命令:
:r! seq -s, -f "{\%g}" 0 20
然后加入 ( J
) 3 行。20n
在你的情况下。
或者"I".format(...)
插入模式,ctrl-R
然后键入=system("seq -s, -f '{%g}' 0 20")
用空双引号之间的光标,我会做(for n
= 5):
i<C-R>=join(map(range(5), 'printf("{%d}", v:val)'), ', ')<CR>
一些vimgolf爱好者可能可以进一步浓缩这一点。但我可能会为它编写一个映射(如果需要如此频繁地发生),或者像这样手动进行:
5i{0}, <Esc>^f0;<C-A>;2<C-A>;3<C-A>;4<C-A>
我会使用宏,例如:
0a{0}, <esc>lqqyF{f"PB<C-a>;q
然后只需使用 n-1 与@q
. 例如4@qXX
会给:
"{0}, {1}, {2}, {3}, {4}, {5}".format(...)
Windows 中没有“seq”命令,所以我更喜欢这个:
:call append(".", map(range(6), '"{".v:val."},"'))
然后加入这些行使用'6J'。