La configuración de lazyredraw
with :set lazyredraw
mejorará en gran medida la velocidad de ejecución de la macro al no volver a dibujar la pantalla mientras se ejecuta una macro o se ejecuta un comando distinto de los que escribe, consulte :help 'lazyredraw'
para obtener más información.
Otra forma de reducir es asegurarse de que no tiene tiempo que perder autocmds o asignaciones. Si sus macros siguen siendo lentas después de ejecutarse, revise su archivo vimrc para ver si hay asignaciones lentas o innecesarias y elimine los complementos innecesarios. En mi caso, tenía un autocmd que se ejecutaba y un programa externo para desactivar CapsLock al salir del modo de inserción, esto era conveniente y normalmente imperceptible, pero ralentizaba mucho las macros de inserción.
Si su macro ingresa al modo de inserción, donde tiene muchas asignaciones, puede ser útil tener una clave para establecer el modo de pegado y deshabilitar temporalmente las asignaciones de inserción, vea :help 'paste'
y :help 'pastetoggle'
. Tenga en cuenta que esto podría dificultar las inserciones.
Finalmente, mantenga la macro lo más simple posible minimizando el movimiento, el cambio de modo, etc.
Buena suerte.
:set lazyredraw
(:h lazyredraw
)