Vim: o poder dos macros

No nosso dia-a-dia em muitas situações diferentes temos que executar a mesma ação em um arquivo por diversas vezes, e com certeza o seu editor oferece à sua maneira uma forma muito eficiente de lidar com isso. No vim isso não é diferente, uma feature muito poderosa e ainda pouco explorada são os macros. Legal

No nosso dia-a-dia em muitas situações diferentes temos que executar a mesma ação em um arquivo por diversas vezes, e com certeza o seu editor oferece à sua maneira uma forma muito eficiente de lidar com isso.

No vim isso não é diferente, uma feature muito poderosa e ainda pouco explorada são os macros. Legal, mas o que é isso?

Esses macros são uma sequencia de comandos que vão ser gravados numa espécie de buffer do vim e você pode executa-los quantas vezes desejar.

Em prática

Vamos supor que temos uma lista de itens como strings escrito dessa maneira:

e o nosso objetivo é que cada item dessa lista fique uma abaixo da outra, também queremos que a primeira letra de cada item seja convertida para maiúscula:

Para iniciarmos a gravação de um macro deve ser pressionada tecla q, note que a palavra recording vai aparecer na parte inferior do editor:

A partir desse momento qualquer tecla pressionada vai ser gravada, e se mais uma vez pressionarmos q em NORMAL MODE a gravação vai ser concluída.

O que devemos fazer agora é executar um conjunto de comandos para atingirmos o nosso objetivo, que nesse caso seria algo como:

Executando isso temos:

Bacana! Ja temos os comandos gravados em memória, agora vamos usar o atalho @q para a execução em cada item:

e voilà, temos nossa lista como queriamos 🙂

Conclusão

Com o tempo o uso do macro dentro do vim se torna algo automático, você começa a perceber padrões e cada vez mais começa a usar essa feature de maneira inteligente que vai poupar muito do seu tempo.

Nesse artigo foi utilizado um exemplo muito simples, mas imagine quantas possibilidades você pode alcançar com os macros desde tarefas complexas como copy/paste em arquivos diferentes, alinhamentos e etc.

Se você achou interessante entenda mais sobre as diversas açoes dos macros na documentação oficial do vim nesse link.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *