Para indentar um arquivo inteiro no vim

Republicado de Fábio Perez at pt.stackoverflow.com

Para indentar um arquivo inteiro no vim, basta digitar o comando gg=G.

Porém, este comando faz com que a posição do cursor mude para a primeira linha do código.

Para evitar isso, utilize o comando gg=G'' ou gg=G``. O primeiro volta para a mesma linha que o usuário estava ao executar o comando, e o segundo volta para a mesma posição (mesma linha e mesma coluna).

Porém, este comando faz com que a posição da tela mude.

Para evitar isso, utilize o comando mqHmwgg=G`wzt`q. Note que este comando grava uma macro no marcador w. Como o comando é muito grande, recomendo criar um atalho para ele. Por exemplo: map mqHmwgg=G`wzt`q.

Comentários