vim:在一行中插入连续的数字
假设我想初始化这个元组:vim:在一行中插入连续的数字,vim,Vim,假设我想初始化这个元组: t = ( #(id, name) (1, 'aasd'), (2, 'bsfd'), (3, 'asf'), ... (21, 'aefae'), ) 我相信我可以用vim做到以下几点 1/键入以下内容: t = ( #(id, name) (, 'aasd'), (, 'bsfd'), (, 'asf'), ... (, 'aefae
t = (
#(id, name)
(1, 'aasd'),
(2, 'bsfd'),
(3, 'asf'),
...
(21, 'aefae'),
)
我相信我可以用vim做到以下几点
1/键入以下内容:
t = (
#(id, name)
(, 'aasd'),
(, 'bsfd'),
(, 'asf'),
...
(, 'aefae'),
)
2/选择逗号行,然后键入一个复杂的键序列,该序列将写入连续的数字
有人知道我应该键入什么复杂的键序列吗?这可以用宏来解决
3Gf1
qq
lyT
,向下移动一个j
,粘贴P
,增加^A
(Ctrl+A),停止录制q
20@q
3Gf1lyT(jP^Aq20@q
要避免计数,并应用增量直到不再有行,还可以将其转换为递归宏:
3Gf1
q
并开始录制:qqqq
lyT
,向下一个j
,粘贴P
,增加^A
(Ctrl+A),重新调用宏@q
。所有这些都是lyT(jP^A@q
- 按Ctrl-v并用逗号标记该列(即,您需要数字的位置)
- Shift-i1Esc-这应该插入一列
s1
- gv-标记
s列1
-这应将:I
s的列更改为数字1
…1
21
- 按Ctrl-V并用逗号标记该列
- I1ESC将每个列初始化为1
- 目测选择最后一行的第二行(例如使用gvj)
- 按gCtrl-A使每行按顺序递增