vim - How do you apply a macro x amount of times per line where x depends on the line -
say have like
a & 1234567890 b & 1234567890 c & 1234567890 d & 1234567890 e & 1234567890 f & 1234567890
is there way use vim macro such can run macro/command x amount of times per line, x depends on line? in case, run 2wx^
on each line x times, x line number such result becomes
a & 234567890 b & 34567890 c & 4567890 d & 567890 e & 67890 f & 7890
thanks in advance
if macro recorded in register q
, can run:
:exec 'normal ' . line('.') . '@q'
on line want. macro want cursor kept on 1st column before being run.
you can - better - in different way, if describe what want do. example, perhaps skip macro altogether , use instead:
:exec 'normal ^2w' . line('.') . 'xj'
if need line offset (e.g. of 1
), use:
:let nr = line('.') - 1 | execute 'normal ^2w' . nr . 'xj'
Comments
Post a Comment