A configuração de lazyredraw
with :set lazyredraw
melhorará bastante a velocidade de execução da macro, não redesenhando a tela enquanto uma macro estiver sendo executada ou um comando for executado diferente daqueles que você digitar, consulte :help 'lazyredraw'
para obter mais informações.
Outra maneira de reduzir é garantir que você não perca tempo com autocmds ou mapeamentos. Se suas macros ainda estiverem lentas após a execução, verifique o arquivo vimrc quanto a mapeamentos lentos ou desnecessários e remova plugins desnecessários. No meu caso, eu tinha um autocmd que executaria um programa externo para desativar o CapsLock ao sair do modo de inserção. Isso era conveniente e normalmente imperceptível, mas diminuía bastante as macros de inserção.
Se sua macro entrar no modo de inserção, onde você tem muitos mapeamentos, pode ser útil ter uma tecla para definir o modo de colar e desativar temporariamente os mapeamentos de inserção, consulte :help 'paste'
e :help 'pastetoggle'
. Lembre-se de que isso pode dificultar as inserções.
Por fim, mantenha a macro o mais simples possível, minimizando o movimento, a alternância de modo etc.
Boa sorte.
:set lazyredraw
(:h lazyredraw
)