Linux: Editores de Texto — Fundamentos do nano e do vim

Em um servidor Linux, não há interface gráfica do VS Code. Só podemos contar com editores de texto no terminal para modificar arquivos de configuração e escrever código. Os dois mais comuns são nano (curva de aprendizado zero) e vim (rei da eficiência).

📋 Pré-requisitos: Você deve primeiro concluir

1. O Que Você Vai Aprender


2. A História de Editar Arquivos no Terminal

(1) O Problema: Não Dá Para Usar o VS Code Após Login SSH

Alex acessou um servidor via SSH e queria editar o arquivo de configuração do Nginx, mas o servidor não tinha VS Code nem interface gráfica. Ele já tinha ouvido falar de vim, mas não sabia usá-lo — depois de abrir, nem conseguia descobrir como sair.

O engenheiro sênior Bob ensinou-lhe as sequências essenciais de teclas: i para entrar no modo de inserção e começar a escrever, Esc para voltar ao modo normal, :wq para salvar e sair.

(2) O Método dos Três Passos

Bob disse: "Lembre desses três passos e você consegue editar qualquer arquivo com vim."

💡 Dica: O núcleo do vim é o "método dos três passos" — i para entrar no modo de inserção e começar a editar, Esc para voltar ao modo normal, :wq para salvar e sair. Com apenas esses três passos, você dá conta da maior parte das tarefas de edição no vim; o restante você vai aprendendo aos poucos.

BASH
vim /etc/nginx/nginx.conf
# 1. Aperte i para entrar no modo de inserção — comece a editar
# 2. Após editar, aperte Esc para voltar ao modo normal
# 3. Digite :wq e aperte Enter — salvar e sair

(3) O Benefício: Sem Mais Medo de Editar Arquivos de Configuração

Depois de aprender o básico do vim, Alex percebeu que editar configurações do servidor era, na verdade, rápido — abrir o arquivo, encontrar a linha a alterar, apertar i para modificar, :wq para salvar. O processo todo leva menos de 30 segundos.


3. Pontos-Chave

(1) nano — O Editor de Barreira Zero

O nano é um editor simples pré-instalado em todos os sistemas Linux. Suas dicas de operação ficam exibidas na parte inferior da tela.

ℹ️ Nota: Se você só edita um arquivo de configuração ocasionalmente, o nano é perfeitamente adequado, com custo de aprendizado zero; se você precisa editar texto extensivamente todo dia, o vim é muito mais eficiente. Comece com o nano e migre para o vim quando sentir que o nano não é rápido o suficiente.

Abrir um arquivo:

BASH
nano arquivo
nano /etc/nginx/nginx.conf   # Quando precisar de sudo: sudo nano /etc/nginx/nginx.conf

Atalhos comuns (^ significa a tecla Ctrl):

Atalho Ação
Ctrl + O Salvar o arquivo
Ctrl + X Sair do nano
Ctrl + W Buscar texto
Ctrl + K Cortar a linha atual
Ctrl + U Colar
Ctrl + G Mostrar ajuda
Alt + U Desfazer
Alt + E Refazer

(2) Os Três Modos do vim

A maior característica do vim é ser dirigido por modos — a mesma tecla tem funções diferentes em modos diferentes.

TEXT

┌─────────────────────────────┐
│        Modo Normal           │ ← Modo padrão ao iniciar, para movimentação e operações
│  Aperte i / a / o → Modo de Inserção │
│  Aperte v / V → Modo Visual           │
│  Aperte : → Modo de Linha de Comando │
└──────────────┬──────────────┘
               │
     ┌─────────┴─────────┐
     ↓                   ↓
┌──────────────┐   ┌──────────────┐
│Modo de Inserção│  │ Modo Visual │
│              │   │              │
│ Aperte Esc → │   │ Aperte Esc → │
│Volta ao Normal│   │Volta ao Normal│
└──────────────┘   └──────────────┘

(3) Movimentação do Cursor no vim (Modo Normal)

TEXT
h       ← Move uma posição para a esquerda
j       ↓ Move uma linha para baixo
k       ↑ Move uma linha para cima
l       → Move uma posição para a direita
w       Pula para o início da próxima palavra
b       Pula para o início da palavra anterior
0       Pula para o início da linha
$       Pula para o final da linha
gg      Pula para o início do arquivo
G       Pula para o final do arquivo
:numero_linha  Pula para uma linha específica (por exemplo, :42 vai para a linha 42)
Ctrl+F  Rola uma página para baixo
Ctrl+B  Rola uma página para cima
💡 Dica: No vim, número + comando repete a ação — 3dd apaga 3 linhas, 5yy copia 5 linhas, 10j desce 10 linhas. Essa é uma das chaves da eficiência do vim: use prefixos numéricos para evitar teclas repetidas.

(4) Operações de Edição no vim (Modo Normal)

TEXT
i       Inserir antes do cursor (entra no modo de inserção)
a       Inserir depois do cursor
o       Abre uma nova linha abaixo e entra no modo de inserção
O       Abre uma nova linha acima e entra no modo de inserção

x       Apaga o caractere sob o cursor
dd      Apaga a linha atual
dw      Apaga uma palavra
d$      Apaga até o final da linha
yy      Copia a linha atual (yank)
yw      Copia uma palavra
p       Cola depois do cursor
P       Cola antes do cursor
u       Desfazer
Ctrl+R  Refazer

(5) Busca e Substituição no vim

TEXT
# Buscar (modo normal)
/padrao       Busca avançada pelo padrão
?padrao       Busca reversa pelo padrão
n             Vai para a próxima ocorrência
N             Vai para a ocorrência anterior

# Substituir (modo de linha de comando)
:%s/antigo/novo/g          Substitui todo "antigo" por "novo" no arquivo inteiro
:%s/antigo/novo/gc         Substitui tudo pedindo confirmação em cada ocorrência
:5,20s/antigo/novo/g       Substitui apenas nas linhas 5-20

(6) ▶ Exemplo: Editar um Arquivo com nano

BASH
# Criar e editar um arquivo
nano ola.txt

# No nano:
# 1. Digite "Olá Linux!"
# 2. Ctrl + O → aperte Enter para salvar
# 3. Ctrl + X → sair do nano

# Ver o conteúdo do arquivo
cat ola.txt

Saída:

TEXT
Olá Linux!

(7) ▶ Exemplo: Operações Básicas do vim

TEXT
# Abrir um arquivo
vim pratica.txt

# Sequência de prática:
# 1. Aperte i → entra no modo de inserção
# 2. Digite "Esta é a linha 1" → aperte Enter
# 3. Digite "Esta é a linha 2"
# 4. Aperte Esc → volta ao modo normal
# 5. Digite :wq → aperte Enter para salvar e sair

(8) ▶ Exemplo: Copiar e Colar no vim

TEXT
# 1. Abra um arquivo com vim
vim pratica.txt

# 2. yy para copiar a linha atual
# 3. p para colar abaixo
# 4. Aperte p várias vezes para colar várias vezes
# 5. 5yy para copiar 5 linhas
# 5p para colar 5 vezes

# 6. dd para apagar a linha atual
# 7. 3dd para apagar 3 linhas

(9) ▶ Exemplo: Busca e Substituição no vim

TEXT
vim config.txt

# Buscar por nginx
/nginx
n    # Próxima ocorrência
N    # Ocorrência anterior

# Substituir todas as ocorrências de "port" por "PORT"
:%s/port/PORT/g

# Substituir com confirmação
:%s/port/PORT/gc
# Cada ocorrência perguntará: y confirma / n pula / a todas

(10) ▶ Exemplo: Configuração do vim (~/.vimrc)

Crie um arquivo de configuração simples .vimrc para tornar o vim mais amigável:

TEXT
cat > ~/.vimrc << 'EOF'
syntax on                          " Realce de sintaxe
set number                         " Mostrar números de linha
set tabstop=2                      " Largura da tabulação: 2
set shiftwidth=2                   " Largura da indentação: 2
set expandtab                      " Usar espaços em vez de tabs
set autoindent                     " Indentação automática
set cursorline                     " Destacar linha atual
set hlsearch                       " Destacar resultados da busca
set ignorecase                     " Busca sem diferenciar maiúsculas/minúsculas
set incsearch                      " Busca incremental
EOF

(11) ▶ Exemplo Abrangente: Editar um Arquivo de Configuração do Nginx com vim

BASH
# Abrir a configuração padrão do Nginx
sudo vim /etc/nginx/sites-available/default

# Passos de operação:
# 1. /server_name  Buscar por server_name
# 2. n Pular para a próxima ocorrência
# 3. i Entrar no modo de inserção e modificar o domínio
# 4. Esc Sair do modo de inserção
# 5. /root  Buscar pelo caminho root
# 6. Modificar o diretório raiz do site
# 7. :wq Salvar e sair
# 8. sudo nginx -t Testar a configuração
# 9. sudo systemctl reload nginx Recarregar a configuração

❓ Perguntas Frequentes

P: Como sair do vim (a pergunta clássica)? R: Em ordem: Esc (garanta que está no modo normal) → : (entra no modo de linha de comando) → q (sair) ou q! (forçar saída sem salvar) ou wq (salvar e sair).

P: Devo aprender nano ou vim? R: Comece com nano (barreira zero, dicas na parte inferior) e depois aprenda vim aos poucos. Quando estiver confortável com vim, ele será muito mais eficiente — mas para "editar um arquivo de configuração ocasionalmente", o nano dá conta do recado.

P: Como desfazer no vim? R: Aperte u no modo normal para desfazer, Ctrl + R para refazer. Aperte u repetidamente para desfazer várias alterações.

P: Como mostrar os números de linha no vim? R: Digite :set number no modo de linha de comando. Para mostrar por padrão, adicione set number ao ~/.vimrc.

P: Existe uma forma melhor de editar arquivos remotamente? R: A extensão VS Code Remote - SSH permite editar arquivos remotos no seu VS Code local. JetBrains Gateway oferece funcionalidade semelhante. Mas nem sempre você terá essas ferramentas — aprender o básico do vim continua sendo uma habilidade essencial.


📖 Resumo


📝 Exercícios

  1. Básico (Dificuldade ⭐): Use o nano para criar e editar ola.txt, escreva três linhas de texto, salve e saia; em seguida, abra o mesmo arquivo no vim e pratique a movimentação do cursor (h/j/k/l/w/b/gg/G)
  2. Intermediário (Dificuldade ⭐⭐): No vim, copie a linha atual (yy) e cole (p) 5 vezes, depois busque uma palavra no arquivo e navegue com n/N, e por fim faça uma substituição com :%s/antigo/novo/g
  3. Avançado (Dificuldade ⭐⭐⭐): Crie um arquivo de configuração ~/.vimrc (realce de sintaxe + números de linha + tabulação de largura 2 + realce de busca), depois use vim para editar /etc/ssh/sshd_config (requer sudo), praticando operações de busca e substituição
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%