说我有类似
的东西a & 1234567890
b & 1234567890
c & 1234567890
d & 1234567890
e & 1234567890
f & 1234567890
有没有办法使用vim宏,这样我每行可以运行宏/命令x次,其中x取决于行?
在这种情况下,我在每行上运行2wx^
x次,其中x是行号,结果变为
a & 234567890
b & 34567890
c & 4567890
d & 567890
e & 67890
f & 7890
提前致谢
答案 0 :(得分:0)
如果您的宏记录在注册表q
中,则可以运行:
:exec 'normal ' . line('.') . '@q'
在你想要的任何一行上。您的宏将希望光标在运行之前保留在第1列。
如果你描述你想做什么,你也可以用不同的方式做得更好 - 更好。例如,也许您可以完全跳过宏并使用类似的东西:
:exec 'normal ^2w' . line('.') . 'xj'
如果您需要线偏移(例如1
),您可以使用:
:let nr = line('.') - 1 | execute 'normal ^2w' . nr . 'xj'