我有一堆文件.我记录了一个在一行上执行操作的宏.我想在文件中的所有剩余行上重复该宏.有快速的方法吗?
我尝试了Ctrl + Q,突出显示了一组行,然后按下了@@,但这似乎并没有成功.
在Ex模式下使用普通命令在多行/所有行上执行宏:
执行存储在第5行到第10行的寄存器a中的宏.
:5,10norm! @a
执行存储在第5行到文件末尾的寄存器a中的宏.
:5,$norm! @a
在所有行上执行存储在寄存器a中的宏.
:%norm! @a
在匹配模式的所有行上的寄存器a中执行宏存储.
:g/pattern/norm! @a
要在可视选择的行上执行宏,请按V和j或k,直到选择所需的区域.然后键入:norm! @a
并观察后面的输入行.
:'<,'>norm! @a
在vim中输入:help normal以阅读更多内容.
:g/pattern/normal! @a
:help global
你也可以这样做:
在正常模式下:
[number of times to apply the macro] @ [register]
例如:
1000@q
将寄存器q中的宏应用于下一行1000行.