2012-10-18 23 views

回答

4

我不知道這樣是對你合適:

"I(cursor here) 
".format(...) 

執行命令:

:r! seq -s, -f "{\%g}" 0 20 

再加入(J)的3條線路。 20你的情況是n

"I".format(...)

到插入模式,ctrl-R然後鍵入=system("seq -s, -f '{%g}' 0 20")

2

隨着空雙引號之間的光標,我會做(對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> 
0

我會用宏,如:

0a{0}, <esc>lqqyF{f"PB<C-a>;q 

然後,只需使用任何n-1與@q。例如。 [email protected]會給:

"{0}, {1}, {2}, {3}, {4}, {5}".format(...) 
0

有是Windows沒有 「序列」 命令,所以我更喜歡這樣的:

:call append(".", map(range(6), '"{".v:val."},"')) 

,然後加入這些行,用 '6J'。