Editar Arquivos no VPS: Nano vs Vim — Qual Escolher e Como Usar
Comparativo prático entre nano e vim pra editar arquivos no VPS Linux. Comandos essenciais, atalhos e quando usar cada editor.
Editar arquivos de configuração no terminal é uma tarefa recorrente em qualquer VPS: ajustar nginx, configurar variáveis de ambiente, editar /etc/hosts ou inspecionar logs antes de reiniciar um serviço. Os dois editores que vêm pré-instalados na maioria das distribuições Linux são nano e vim — e a escolha entre eles divide opiniões há décadas.
Este tutorial não vai vencer o debate. Em vez disso, mostra quando cada editor faz mais sentido, os comandos mínimos pra você sair vivo de qualquer um deles, e como evitar os erros que custam horas de retrabalho. A persona-alvo é o sysadmin que está montando a primeira VPS e precisa decidir hoje qual editor usar pra editar um arquivo de configuração.
Tempo estimado de leitura: 8 minutos. No final você vai conseguir abrir, editar e salvar qualquer arquivo de texto via terminal, escolher conscientemente entre os dois editores conforme o contexto, e recuperar trabalho perdido se a sessão SSH cair no meio de uma edição.
Pré-requisitos
Uma VPS rodando Ubuntu, Debian, AlmaLinux ou Rocky Linux com acesso SSH funcional. Usuário com privilégios sudo pra editar arquivos do sistema. Nano e vim já vêm instalados por padrão em distribuições baseadas em Debian e RHEL — não há nada pra instalar antes de começar.
Ubuntu, Debian, AlmaLinux todas as distribuições ativo na porta 22 Comparação rápida: nano vs vim
Antes de qualquer comando, entenda em que dimensões os dois editores se diferenciam. A tabela abaixo resume o trade-off central.
| Critério | nano | vim |
|---|---|---|
| Curva de aprendizado | Imediata | Semanas |
| Modos de operação | Único | 3 (normal, inserção, visual) |
| Atalhos visíveis na tela | Sim, rodapé | Não |
| Velocidade após domínio | Média | Muito alta |
| Edição de arquivos grandes (>10 MB) | Lenta | Rápida |
| Busca e substituição | Simples | Avançada com regex |
| Configurabilidade | Limitada | Extensa via .vimrc |
| Recuperação após queda de SSH | Não | Sim (arquivo swap) |
Nano é o editor “WYSIWYG” do terminal — você digita e o texto aparece, como num bloco de notas. Os atalhos disponíveis ficam listados no rodapé da tela o tempo todo. Não tem modos. Não tem comandos crípticos. Funciona.
Vim opera em modos: você entra em modo normal (não digita texto, só comandos), pressiona i pra entrar em modo de inserção (aí sim digita), aperta Esc pra voltar pro normal, e usa comandos como :w pra salvar. A curva inicial é íngreme, mas depois de algumas semanas você edita arquivos significativamente mais rápido que em qualquer editor gráfico.
A regra prática: se você edita arquivos no servidor algumas vezes por mês, nano é suficiente. Se você passa horas por dia editando configurações, vale o investimento em aprender vim.
Editando arquivos com nano
Nano é o caminho mais curto entre você e um arquivo de configuração editado. Os passos abaixo mostram o fluxo completo — abrir, editar, salvar e sair.
Abra um arquivo de configuração. Se ele exigir privilégios de root, use sudo:
sudo nano /etc/nginx/nginx.confSe o arquivo não existir, nano cria um vazio no caminho informado quando você salva. Sem sudo em arquivo de sistema, você consegue ler mas não salvar — vai receber erro na hora de gravar.
Navegue e edite. Use as setas do teclado pra mover o cursor. Digite normalmente pra inserir texto. Backspace e Delete funcionam como esperado.
Atalhos essenciais (a tecla ^ no rodapé do nano representa Ctrl):
Ctrl+O— salva o arquivo (output). Confirma o nome com EnterCtrl+X— sai do nano. Se houver mudanças não salvas, pergunta se quer salvarCtrl+W— busca uma palavra (where is)Ctrl+\— busca e substituiCtrl+K— recorta a linha atualCtrl+U— cola o conteúdo recortadoCtrl+G— abre a ajuda completa
Salve sem sair com Ctrl+O, ou saia direto com Ctrl+X. Quando perguntar se quer salvar antes de sair, pressione Y (sim) e depois Enter pra confirmar o nome do arquivo.
Por padrão, nano quebra linhas longas automaticamente — o que pode estragar arquivos de configuração que dependem de uma linha contínua. Desligue com nano -w arquivo, ou adicione set nowrap ao ~/.nanorc pra deixar permanente.
Editando arquivos com vim
Vim parece hostil no começo porque ele assume que você sabe o que está fazendo. Os passos abaixo cobrem o suficiente pra você usar vim com confiança em tarefas básicas — sem cair na armadilha clássica de não conseguir sair.
Abra o arquivo. A sintaxe é igual à do nano:
sudo vim /etc/ssh/sshd_configVocê cai em modo normal — não tente digitar texto ainda. Se você apertar uma tecla aleatória aqui, ela vai disparar um comando.
Entre em modo de inserção pra editar. Pressione i (insert). A barra de status no rodapé vai mostrar -- INSERT -- ou -- INSERIR --. Agora você pode digitar normalmente, usar setas, backspace.
Outras formas de entrar em modo inserção:
i— insere antes do cursora— insere depois do cursor (append)o— abre uma nova linha abaixo da atual e entra em inserçãoO— abre uma nova linha acima e entra em inserção
Volte pro modo normal com Esc quando terminar de digitar. O -- INSERT -- desaparece do rodapé. Agora você pode executar comandos.
Comandos essenciais (todos no modo normal, começando com :):
:w— salva (write):q— sai:wq— salva e sai:q!— sai descartando mudanças (força):w nome.txt— salva com outro nome (save as)/palavra— busca a palavra pra frente:%s/antigo/novo/g— substitui todas as ocorrências no arquivo
Se você entrou no vim por acidente e quer apenas sair: pressione Esc (garante modo normal), digite :q! e Enter. Esse é o “botão de pânico” — descarta tudo e fecha.
Aprenda os movimentos básicos. Em modo normal, as teclas h j k l movem o cursor (esquerda, baixo, cima, direita). As setas também funcionam — use o que for confortável.
Movimentos mais úteis:
gg— vai pro início do arquivoG— vai pro fim do arquivo0— início da linha atual$— fim da linha atualdd— apaga a linha atualyy— copia a linha atualp— cola depois do cursoru— desfazCtrl+r— refaz
Verificação: editando seu primeiro arquivo
Pra confirmar que tudo está funcionando, crie um arquivo de teste e edite com ambos os editores. Isso não toca em nenhum arquivo de sistema — você pratica em ambiente isolado.
echo "linha original" > /tmp/teste-editor.txt
nano /tmp/teste-editor.txt
Mude o conteúdo, salve com Ctrl+O Enter, saia com Ctrl+X. Confirme com:
cat /tmp/teste-editor.txt
Repita com vim no mesmo arquivo: vim /tmp/teste-editor.txt, pressione i, edite, Esc, :wq, Enter. cat de novo pra ver o resultado.
Resolução de problemas
”Estou preso no vim — não consigo sair”
Esse é o problema mais comum de todos. A sequência é sempre a mesma: pressione Esc (pode apertar várias vezes pra ter certeza), digite :q! e Enter. Isso sai descartando qualquer mudança. Se quer salvar antes, use :wq.
Nano salva com extensão .save em vez do nome original
Significa que o arquivo está bloqueado ou o usuário atual não tem permissão de escrita no diretório. Saia sem salvar, abra com sudo nano arquivo e tente de novo. Se o sistema de arquivos estiver em read-only (comum após problema de disco), o erro persiste — investigue com mount | grep ro.
”E308: Aviso: parece que existe um arquivo swap”
Vim detectou que outro vim já estava editando esse arquivo, ou que uma sessão anterior caiu sem fechar. Pressione R pra recuperar a versão swap, ou D pra apagar o swap e abrir limpo. Após recuperar, salve com :wq e apague o .arquivo.swp manualmente.
Antes de editar /etc/ssh/sshd_config, /etc/fstab ou qualquer arquivo do qual o sistema depende pra bootar, faça backup: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak. Um typo nessas configurações pode te trancar fora do servidor depois do próximo reboot.
Próximos passos
Agora que você consegue editar arquivos no servidor, vale explorar:
- Personalizar o vim com um
~/.vimrcmínimo — habilitar números de linha (set number), syntax highlighting (syntax on) e indentação automática (set autoindent). - Aprender o
tmuxpra manter sessões abertas mesmo quando o SSH cai — editar arquivos grandes em rede instável fica viável. - Editar arquivos remotamente com VS Code Remote-SSH pra projetos maiores, mantendo nano/vim pros ajustes rápidos.
- Praticar com
vimtutor, o tutorial interativo que vem com qualquer vim instalado — 30 minutos cobrem 90% do uso prático.
Se você está colocando um projeto sério em produção, uma VPS Hostini vem com Ubuntu LTS limpo, acesso root via SSH e ambos os editores prontos pra uso — sem painéis intermediários que escondem o sistema de arquivos.
Perguntas frequentes
Nano ou vim — qual eu devo aprender primeiro?
Comece com nano. Ele funciona como qualquer editor de texto gráfico — digite e use Ctrl+O pra salvar, Ctrl+X pra sair. Vim tem ganho real de produtividade, mas exige semanas pra dominar os modos. Se você só edita config de tempos em tempos, nano resolve tudo.
Como saio do vim quando entro nele por acidente?
Pressione Esc pra garantir que está em modo normal, depois digite `:q!` e Enter. O `:q!` descarta qualquer mudança não salva e fecha. Pra salvar antes de sair, use `:wq`. Este é o problema mais comum de quem nunca usou vim.
Posso editar arquivos do servidor direto do meu Windows ou Mac, sem usar editor de terminal?
Sim. Ferramentas como VS Code com a extensão Remote-SSH abrem arquivos do VPS na sua IDE local. Pra edições rápidas via SSH, nano ou vim continuam mais práticos — não exigem configuração nem dependem de conexão estável pra todas as ações.
Por que vim mostra `~` em várias linhas no fim do arquivo?
Os til representam linhas que não existem no arquivo — é só visualização. Eles não são salvos. Quando você escreve nas primeiras linhas, os til descem automaticamente.
Nano perde a edição quando a sessão SSH cai?
Sim, mudanças não salvas se perdem se o terminal fecha. Vim mantém um arquivo swap (`.arquivo.swp`) que permite recuperar via `vim -r`. Pra editar em SSH instável, prefira vim ou rode tudo dentro de `tmux`/`screen` pra preservar a sessão.
Como faço busca e substituição em arquivos grandes?
No nano use Ctrl+\ (busca-e-substitui), digite o termo, Enter, digite a substituição, Enter, depois A pra trocar todas. No vim use `:%s/antigo/novo/g` em modo normal — substitui todas as ocorrências no arquivo inteiro. Vim é ordens de magnitude mais rápido pra esse caso.