Desligando auto indenting no VIM/VI

Ao editar arquivos no Vim, o editor pode aplicar automaticamente regras de indentação que, embora úteis em muitas situações, podem ser indesejadas em outros contextos (como ao editar arquivos de configuração, logs ou trechos de código com formatação específica). Para desativar essas funcionalidades, você pode usar os seguintes comandos:

:setlocal noautoindent
:setlocal nocindent
:setlocal nosmartindent
:setlocal indentexpr=

ou

:setl noai nocin nosi inde=

Abaixo, explico o que cada uma dessas opções faz:

  • :setl (ou :setlocal) — Aplica as configurações apenas ao buffer atual, sem afetar outros arquivos abertos.
  • noai (noautoindent) — Desativa a cópia automática da indentação da linha anterior ao iniciar uma nova linha.
  • nocin (nocindent) — Desativa a indentação baseada em sintaxe e estrutura do código, comum em linguagens como C.
  • nosi (nosmartindent) — Impede que o Vim tente “adivinhar” a indentação com base na estrutura do código (como abrir chaves {).
  • inde= — Limpa a expressão de indentação usada pelo indentexpr, garantindo que nenhuma lógica personalizada de indentação seja aplicada.

Com esse conjunto de comandos, você garante que o Vim não altere a indentação automaticamente, permitindo um controle total e manual sobre a formatação do seu texto.

A partir desse momento, o Vim deixará de aplicar indentação automática no buffer atual.


🔄 Tornando a configuração permanente

Se você quer que o Vim sempre abra com a indentação automática desativada, edite o arquivo ~/.vimrc:

vim ~/.vimrc

Adicione estas linhas:

" Desativa indentação automática globalmente
set noautoindent
set nocindent
set nosmartindent
set indentexpr=

Aplicando apenas para arquivos específicos

Não quer desativar a indentação para tudo? Você pode aplicar a regra apenas para certos tipos de arquivos usando autocmd:

" Desativa indentação automática apenas para arquivos .txt e .yaml
autocmd FileType txt,yaml setlocal noautoindent nocindent nosmartindent indentexpr=

Essa é uma forma elegante de manter a indentação automática em linguagens como Python ou C, e desabilitá-la onde ela atrapalha.


🧠 Conclusão

Saber como o Vim lida com indentação pode poupar muita dor de cabeça. Com comandos simples, você assume o controle do editor e molda o comportamento conforme seu fluxo de trabalho. Teste as opções acima e ajuste conforme sua necessidade.

Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.