Escolhendo um Editor: vim, nano, emacs e VS Code

Escolhendo um Editor: vim, nano, emacs e VS Code

O que você vai conseguir fazer

  • Explicar as diferenças entre vim, nano, emacs e VS Code
  • Escolher o editor que combina com o seu uso

Pré-requisitos (leia estes primeiro)

Qual Editor Você Deveria Usar?

Você digitou vim, a tela mudou e de repente não conseguiu sair. Quase todo mundo que aprende Linux enfrenta essa parede uma vez. Há tantos editores de texto — vim, nano, emacs, VS Code — e ainda assim ninguém realmente te diz qual usar.

Este guia desembaraça as diferenças entre quatro editores populares (vim, nano, emacs e VS Code) através de uma conversa entre Lina e o veterano Linny. Ele também mostra por qual um iniciante deveria começar. Uma observação de vocabulário: "editor", "editor de texto" e "programa de edição" significam a mesma coisa aqui.

O que você vai aprender

  • Por que existem tantos tipos de editores
  • Os pontos fortes de nano, vim, emacs e VS Code
  • Como os quatro editores diferem em curva de aprendizado e caso de uso
  • Qual editor um iniciante deveria começar e quando mudar
  • Como escapar do temido "estou preso no vim" em um único movimento

1. Por que Existem Tantos Editores?

Conclusão: Os editores evoluíram para trabalhos diferentes — "consertar algo rapidamente em um servidor" versus "sentar e desenvolver" — então várias opções cresceram para diferentes propósitos.

Lina: Veterano Linny, por que existem tantos editores de texto? Um seria suficiente...
Veterano Linny: Boa pergunta. É porque o editor "certo" muda dependendo de onde e o que você está editando.
Lina: Depende da situação?
Veterano Linny: Certo. Digamos que você faça SSH em um servidor para consertar uma linha em um arquivo de configuração. O SSH é o mecanismo que te conecta a um servidor distante pela rede, a partir do seu próprio computador. Em vez de abrir uma ferramenta de desenvolvimento pesada, você quer algo que possa abrir e consertar direto no terminalUm programa interativo que interpreta os comandos digitados e os executa..
Lina: E quando você senta para desenvolver de verdade?
Veterano Linny: Se você escreve um app com centenas de arquivos todo dia, um editor com completion forte — ele sugere candidatos enquanto você digita — e busca forte é muito mais confortável.
Lina: Entendo — a "ferramenta certa" cresceu para cada situação.
Veterano Linny: Exatamente. Então a resposta não é "qual é o melhor," mas "quando uso qual."

Editores CUI vs editores GUI

  • CUI (dentro do terminal): nano, vim, emacs. Rodam até via SSH em um servidor remoto.
  • GUI (app de janela): VS Code. Mouse e menus, forte para desenvolvimento em grande escala.

Editores CUI rodam em qualquer lugar. Editores GUI são confortáveis para desenvolvimento local. Manter essa distinção em mente facilita tudo.

2. O que é nano?

Conclusão: nano é o editor CUI mais amigável para iniciantes — ele sempre mostra os comandos de teclas na parte inferior da tela. Perfeito para "apenas consertar isso."

Lina: Quero começar com o mais fácil!
Veterano Linny: Então é o nano. O grande benefício do nano é que as teclas que você pode pressionar são sempre mostradas na parte inferior da tela. Então mesmo que você não lembre dos comandos, não vai se perder.
Lina: É como ter uma folha de cola integrada.
Veterano Linny: Exatamente. Por exemplo, ^X significa "segure Ctrl e pressione X" para sair. O símbolo ^ representa a tecla Ctrl.
nano memo.txt

Quando o nano iniciar, você pode simplesmente digitar para editar. Para sair, pressione as teclas mostradas abaixo.

^X Exit    ^O Save    ^W Search    ^K Cut line
(^ means the Ctrl key)

Básicos do nano

  • Salvar: Ctrl+O (Write Out), depois Enter para confirmar
  • Sair: Ctrl+X
  • Buscar: Ctrl+W

Você move o cursor com as teclas de seta, e não há "modos" especiais. É o mais parecido com o Bloco de Notas no Windows.

Quando em dúvida, comece com nano. Vem pré-instalado na maioria dos sistemas Linux, e para pequenas edições em um arquivo de configuração no servidor, nano é mais que suficiente.

3. O que é vim?

Conclusão: vim é um poderoso editor CUI que permite editar rapidamente apenas com o teclado. Tem "modos" — uma vez acostumado, é o mais rápido, mas a curva de aprendizado é íngreme.

Lina: Uma vez abri o vim e não consegui sair. Entrei em pânico...
Veterano Linny: Isso é clássico. O vim tem esse conceito de "modos," e se você não souber sobre eles, é fácil entrar em pânico.
Lina: Modos?
Veterano Linny: Certo. Quando o vim inicia, está em "modo normal," onde as teclas agem como comandos, não como entrada de texto. Para digitar caracteres, você pressiona i para entrar no "modo de inserção."
Lina: Então é por isso que nada funcionava normalmente quando eu digitava!
Veterano Linny: Exatamente. E para sair, você primeiro pressiona Esc para voltar ao modo normal, depois :q para sair. Uma vez que você sabe disso, o vim não é mais assustador.
vim config.txt

Aqui estão os três comandos mais importantes para escapar do vim com segurança.

i        Enter insert mode (you can type now)
Esc      Return to normal mode
:wq      Save and quit
:q!      Quit without saving (force)

Como escapar quando está preso!

  1. Pressione Esc primeiro (independente do modo em que você está, isso retorna ao modo normal)
  2. Para salvar e sair, digite :wq e pressione Enter
  3. Para descartar suas edições e sair, digite :q! e pressione Enter

Digitar : permite que você insira um comando na parte inferior da tela. O truque é manter a calma e sempre começar com Esc.

O :q! descarta suas edições de vez

  1. Diferença em relação à interface gráfica: um editor gráfico pergunta "salvar as alterações?" ao fechar. O :q! descarta as edições sem confirmar nada.
  2. Como escolher: use :wq quando quiser manter as alterações, e :q! só depois de decidir descartá-las.
  3. Uma tranquilidade: treine em um arquivo descartável como memo.txt, e perder o conteúdo não custa nada.

O vim é difícil no começo, mas seu maior apelo é editar rapidamente sem tirar as mãos do home row. A administração de servidores frequentemente assume o vim, então aprender o mínimo (abrir, editar, salvar, sair) traz tranquilidade.

4. O que é emacs?

Conclusão: emacs é um editor CUI que visa "fazer tudo" por meio de extensões. Sua customizabilidade é inigualável, mas há muito a aprender.

Lina: Como o emacs é diferente do vim?
Veterano Linny: A grande diferença é que o emacs permite que você digite texto imediatamente, sem a troca de modo de edição que o vim tem. Em vez disso, você dá comandos com combinações de Ctrl e Alt.
Lina: Então você não fica "preso" como no vim?
Veterano Linny: Como não há troca de modo de edição, raramente você se confunde enquanto digita. Para sair, pressione Ctrl+X depois Ctrl+C. Para salvar, pressione Ctrl+X depois Ctrl+S.
Lina: Você pressiona teclas em duas etapas.
Veterano Linny: Certo, essa é a forma do emacs. E o real poder do emacs é sua extensibilidade. Reescreva a configuração e você inclui email, gerenciamento de arquivos e mais. É menos um editor e mais um ambiente de trabalho completo.
emacs notes.txt

Aqui estão os comandos mínimos do emacs. C-x significa "segure Ctrl e pressione x."

C-x C-s   Save
C-x C-c   Quit
C-g       Cancel the current action (use this when stuck)

Onde o emacs se encaixa

  • Sem a troca de modo de edição que o vim tem — você pode digitar desde o momento em que inicia
  • Você o opera com combinações de teclas Ctrl / Alt
  • Você pode adicionar recursos infinitos com sua linguagem de configuração (Lisp)

Se encaixa para pessoas que querem construir uma ferramenta verdadeiramente sua. Para correções rápidas, porém, nano é geralmente mais prático, e para edição rápida, vim.

5. O que é VS Code?

Conclusão: VS Code é um editor GUI que você opera intuitivamente com mouse e menus. Com completion rico, busca e extensões, é o mais adequado para desenvolvimento sério.

Lina: Ouço falar muito em VS Code. O que o torna diferente?
Veterano Linny: Diferente dos outros três, VS Code é um editor GUI que abre em uma janela. Você pode clicar com o mouse, e parece colorido e fácil de ler.
Lina: Então o VS Code não é o mais fácil de todos?
Veterano Linny: Para desenvolver no seu próprio computador, sim. Seu completion é inteligente, e destaca erros em cor. Instale extensões e você obtém ajuda específica para cada linguagem também.
Lina: Parece que só tem vantagens!
Veterano Linny: Mas tem uma fraqueza. VS Code basicamente precisa de uma GUI, então não vai rodar como está em um servidor acessado via SSH (uma extensão "remote" pode cobrir isso, mas requer configuração extra). É exatamente por isso que vale conhecer nano e vim também.

Você também pode abrir o VS Code pelo terminal. Para abrir toda a pastaUm local que organiza arquivos. É a mesma ideia da "pasta" do Windows ou macOS. atual, use este comando.

code .

Quando VS Code se encaixa

  • Desenvolvendo um app que abrange múltiplos arquivos, no seu PC local
  • Querendo completion, depuração e integração com Git em uma única tela
  • Ainda não confortável com edição por linha de comando, preferindo o mouse

Veja Configurando Linux para Desenvolvedores para como construir um ambiente de desenvolvimento.

6. Então Qual Você Deveria Escolher?

Conclusão: Comece com nano para experimentar "consigo consertar isso," depois aprenda o mínimo do vim, e use VS Code para desenvolvimento sério. Explore emacs quando e se te interessar.

Lina: Entendo os tipos agora. Mas o que eu deveria usar primeiro?
Veterano Linny: Como iniciante, começar com nano é minha recomendação. Como os comandos são mostrados na tela, você pode construir com segurança a experiência de editar um arquivo e salvar.
Lina: vim e emacs podem esperar?
Veterano Linny: Apenas aprenda o mínimo do vim — abrir, editar, salvar, sair — com antecedência, para estar bem se o vim abrir inesperadamente em um servidor. Quando você começar a escrever código seriamente, mude para VS Code. Esse caminhoUma sequência de texto que descreve a localização de um arquivo ou diretório. passo a passo é mais que suficiente.
Editor Tipo Curva de aprendizado Melhor para
nano CUI Baixa Pequenas edições no servidor / primeiro editor de iniciante
vim CUI Alta Edição rápida apenas com teclado / administração de servidores
emacs CUI Alta Construindo seu próprio espaço de trabalho integrado
VS Code GUI Média Desenvolvimento local sério de apps

Como escolher quando em dúvida

  • Só precisa consertar algo → nano
  • vim abriu em um servidor → lembre-se Esc:wq
  • Desenvolvendo localmente → VS Code
  • Quer construir sua ferramenta → mergulhe em emacs / vim

Editores são intercambiáveis. Não pense demais no primeiro — aprenda o próximo quando precisar.

Lina Não Consegue Sair do vim

Conclusão: Digite :q com edições não salvas e o vim se recusa a sair. Use :wq para salvar e sair, ou :q! para descartar as edições.

Lina: Abri o vim como você mostrou, apertei i e digitei um texto. Apertei Esc, depois tentei :q para sair, e apareceu um texto vermelho. Ele não me deixa sair.
E37: No write since last change (add ! to override)
Lina: Eu quebrei alguma coisa?
Veterano Linny: Nada quebrou. Esta é uma pergunta do vim: "você ainda não salvou". Você não disse a ele o que fazer com suas edições.
Lina: Então eu escolho se guardo ou descarto.
Veterano Linny: Exatamente. :wq salva e sai; :q! descarta as edições e sai. O ! significa "eu sei o que estou fazendo, faça de qualquer forma".
:wq      salvar e sair
:q!      descartar as edições e sair
Lina: O :q! me tirou de lá. Então não era um erro — era uma pergunta.
Veterano Linny: Isso. Aperte Esc primeiro, depois comece com :. Lembre dessa ordem e você nunca mais fica presa.

Exercícios Rápidos

Conclusão: Salve e saia no nano, escape do vim e verifique quais editores você tem. Experimente estes três com as próprias mãos.

Veterano Linny: Vamos confirmar o que você aprendeu com as suas próprias mãos. Aqui estão três exercícios.

Exercício 1: Salve e Saia de um Arquivo no nano

Tarefa: Abra memo.txt no nano, escreva uma linha, salve e saia do editor.

Ver Dica 1 (Direção)

Leia a lista de teclas na parte de baixo da tela. Salvar é "write out" (escrever); sair é "exit".

Ver Dica 2 (Nome do comando)

Abra com nano memo.txt, salve com Ctrl+O e Enter, e saia com Ctrl+X.

Ver Resposta
nano memo.txt
^O Write Out (aperte Enter para confirmar)
^X Exit
(^ significa a tecla Ctrl)

Exercício 2: Saia do vim Sem Salvar

Tarefa: Abra config.txt no vim, digite algo e saia sem salvar essas edições.

Ver Dica 1 (Direção)

Primeiro saia do modo em que você está. Depois adicione o símbolo de "forçar" ao comando de sair.

Ver Dica 2 (Nome do comando)

Aperte Esc, depois digite :q! e Enter.

Ver Resposta
vim config.txt
Esc      voltar ao modo normal
:q!      sair sem salvar

Exercício 3: Verifique Quais Editores Você Tem

Tarefa: Descubra se nano e vim estão instalados no seu ambiente.

Ver Dica 1 (Direção)

Um comando diz onde um comando fica. O nome dele é a palavra inglesa para "qual?".

Ver Dica 2 (Nome do comando)

Use which (ele mostra onde um comando está) e passe os nomes que quer verificar.

Ver Resposta
which nano vim
/usr/bin/nano
/usr/bin/vim

Se um caminho aparece, aquele editor está disponível. Se nada aparece, ele não está instalado.

Revisão

Conclusão: O nano guia com dicas na tela, o vim te deixa sair com Esc:q!, e o VS Code combina com desenvolvimento local. Esses três pontos bastam para escolher.

Lina: Então o plano é: ficar confortável editando no nano e aprender só a rota de saída do vim.
Veterano Linny: Exatamente. Se o vim abrir de repente num servidor, lembrar de Esc:q! mantém você calma.
Lina: E quando eu começar a escrever código localmente, passo para o VS Code.
Veterano Linny: Bom. Um editor é uma ferramenta que você pode trocar, então não sofra com a escolha do primeiro.

Resumo em 3 Linhas

Conclusão: Escolha pelo trabalho, comece pelo nano e aprenda a sair do vim. Isso resolve a questão do editor.

  1. Os editores evoluíram para trabalhos diferentes - escolha por "quando uso qual", não "qual é o melhor"
  2. Comece pelo nano, depois o mínimo do vim - o nano mostra seus comandos na tela; no vim, aprenda Esc:wq / :q! primeiro
  3. Use o VS Code para desenvolvimento sério - mas servidores não têm GUI, então mantenha nano e vim no seu kit

Próximas Leituras