Aprenda / Terminal e linha de comando

IntermediárioAula 9 de 1615 min0% da trilha

Vim essencial: o suficiente pra sobreviver

Você não precisa virar um mestre do vim — precisa apenas conseguir entrar, editar e sair sem travar.

Existe uma piada muito repetida no mundo dev sobre gente que abriu o vim sem saber como sair e ficou presa ali. A piada existe porque é real: o vim se comporta de um jeito completamente diferente de qualquer editor que você já usou, e sem saber as regras básicas, é fácil travar de verdade. Esta lição cobre exatamente o mínimo pra você nunca mais ficar preso.

Por que aprender vim mesmo preferindo nano

Se o nano é mais amigável, por que se importar com o vim? Porque nem todo sistema tem o nano instalado, mas praticamente todo sistema Linux tem o vim (ou pelo menos o vi, seu antecessor mais simples) por padrão. Em algum momento você vai entrar num servidor remoto, tentar editar um arquivo, descobrir que nano: command not found aparece, e o vim vai ser a única opção disponível ali. Não precisa dominar o vim — só precisa não ficar preso nele.

Os dois modos principais

A diferença mais importante entre vim e qualquer editor comum: o vim tem modos. No modo que ele abre por padrão — o modo normal — as teclas não digitam letras, elas executam comandos. Apertar a no modo normal não escreve "a" na tela; faz outra coisa completamente diferente (nesse caso, entra em modo de inserção logo depois do cursor).

terminal
vim arquivo.txt

Isso abre o arquivo já no modo normal. Se você começar a digitar imediatamente, nada do que você espera vai acontecer — letras vão disparar comandos, cursor pode pular de lugar, linhas podem sumir. É exatamente esse comportamento que assusta quem nunca usou.

Entrando em modo de inserção

Pra realmente digitar texto, você precisa entrar no modo de inserção. A tecla mais comum pra isso é i (de insert), que começa a inserir texto exatamente onde o cursor está.

dentro do vim, no modo normal
i

Com essa indicação -- INSERT -- visível, agora sim digitar funciona como em qualquer editor normal — cada tecla vira texto na tela.

Voltando ao modo normal

Pra sair do modo de inserção e voltar ao modo normal (onde ficam os comandos, incluindo salvar e sair), a tecla é Esc. Sem apertar Esc antes, nenhum comando de salvar ou sair funciona — porque tudo que você digitar ainda está sendo tratado como texto a inserir, não como comando.

Salvando e saindo

Com o cursor de volta no modo normal (depois do Esc), os comandos de salvar e sair começam com : (dois pontos), que abre uma linha de comando na parte de baixo da tela.

dentro do vim, no modo normal
:wq

Se você quer sair sem salvar nenhuma mudança que fez — por exemplo, se bagunçou tudo tentando entender os modos —, o comando é:

dentro do vim, no modo normal
:q!

Esses dois comandos — :wq e :q! — já resolvem 90% das vezes que alguém fica "preso" no vim. O fluxo mínimo de sobrevivência é: Esc (garantir que está no modo normal), depois :wq pra salvar e sair, ou :q! pra abandonar sem salvar.

resumo de sobrevivência
i        → entra em modo de inserção (digitar texto normalmente)
Esc      → volta pro modo normal (onde ficam os comandos)
:wq      → salva e sai
:q!      → sai sem salvar (ignora mudanças)

Exercício

Você abriu vim notas.txt, digitou algumas linhas de texto, e decidiu que não quer salvar nada disso — quer sair exatamente como o arquivo estava antes de você abrir. Descreva a sequência exata de teclas.

Quiz rápido

Por que digitar texto direto ao abrir o vim, sem apertar nada antes, não funciona como esperado?
Qual a diferença entre ':wq' e ':q!' no modo normal do vim?