[英]vim: insert successive numbers in a row
假設我想初始化這個元組:
t = (
#(id, name)
(1, 'aasd'),
(2, 'bsfd'),
(3, 'asf'),
...
(21, 'aefae'),
)
我相信我可以用 vim 做如下操作。
1/ 輸入:
t = (
#(id, name)
(, 'aasd'),
(, 'bsfd'),
(, 'asf'),
...
(, 'aefae'),
)
2/ 視覺選擇逗號行,然后輸入一個棘手的鍵序列,它會寫出連續的數字
有誰知道我應該輸入的棘手的按鍵序列是什么?
較新的 vim(從版本 8 開始)支持在可視模式下遞增,而不是使用 VisIncr。 所以我會選擇:
這個可以用宏解決
3Gf1
qq
lyT
數字lyT
,向下移動j
,粘貼P
,增加^A
( Ctrl + A ),停止記錄q
。20@q
一起: 3Gf1lyT(jP^Aq20@q
為了避免計數,並應用增量直到沒有更多行,您還可以將其轉換為遞歸宏:
3Gf1
q
並開始錄制: qqqqq
lyT
數字lyT
,向下移動j
,粘貼P
,增加^A
( Ctrl + A ),重新調用宏@q
。 一起: lyT(jP^A@q
使用VisIncr插件:
1
s1
s 的列:I
- 這應該將1
的列更改為數字1
... 21
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.