⬡ Modos do Vim
O Vim funciona com modos. É diferente de qualquer editor — e é o que o torna poderoso.
N
Normal
Navegar e comandar. Ponto de partida.
I
Insert
Digitar texto. Como editor comum.
V
Visual
Selecionar texto com movimentos.
:
Command
Executar :w, :q, :s etc.
Esc
Voltar ao modo Normal (sempre funciona)
i
Insert — antes do cursor
a
Insert — depois do cursor
o
Nova linha abaixo + Insert
O
Nova linha acima + Insert
v
Visual — seleção por caractere
V
Visual Line — linhas inteiras
:
Abrir linha de comando
💡 Regra de ouro: Pressione Esc sempre que quiser "sair" do que está fazendo. No modo Normal você nunca digita texto.
✎ Edição de texto
Ações básicas
x
Apaga o caractere sob o cursor
dd
Apaga (recorta) a linha inteira
yy
Copia a linha inteira (yank)
p
Cola abaixo / depois do cursor
u
Desfaz (undo)
Ctrl+r
Refaz (redo)
cc
Apaga a linha e entra em Insert
r
Substitui um caractere sem entrar em Insert
.
Repete a última ação (muito útil)
Combinações verbo + movimento
diw
"delete inside word" — apaga a palavra inteira
di"
"delete inside quotes" — apaga entre aspas
ci(
"change inside parens" — substitui conteúdo dos ()
yi{
"yank inside braces" — copia conteúdo das {}
5j
Move 5 linhas pra baixo (número + movimento)
3dd
Apaga 3 linhas
Substituição global
:%s/antigo/novo/g ← todas as ocorrências
:%s/antigo/novo/gc ← com confirmação
:10,20s/x/y/g ← só entre linhas 10 e 20
⌘ Menu Leader (Espaço)
Pressione Spc e aguarde — aparece um menu com todos os atalhos disponíveis.
Arquivos
Spcff
Buscar e abrir arquivo
Spcfr
Arquivos recentes
Spcfn
Criar novo arquivo
Spce
Abrir/fechar explorador de arquivos
Busca
Spc/
Busca texto em todos os arquivos
Spcsg
Live grep no projeto
Spcss
Buscar símbolo no arquivo atual
Diagnósticos
Spcxx
Painel de erros e warnings (Trouble)
Spcxl
Erros do arquivo atual
Miscelânea
Spcul
Liga/desliga números de linha
Spcuw
Liga/desliga quebra de linha
Spcqq
Fechar o Neovim
🔭 Telescope
Busca fuzzy em tudo. Digite qualquer parte do nome para filtrar em tempo real.
Spcff
Buscar arquivo por nome
Spcfb
Listar buffers abertos
Spcsg
Buscar conteúdo no projeto
Spcsk
Buscar atalho (keymap)
Spcsh
Buscar na ajuda do Neovim
Dentro do Telescope
Ctrl+j/k
Navegar pelos resultados
Enter
Abrir o item selecionado
Ctrl+v
Abrir em split vertical
Esc
Fechar o Telescope
⚡ LSP — Inteligência de código
Com o intelephense ativo, o Neovim entende seu PHP. Cursor em cima de uma função ou variável:
gd
Ir para a definição
gr
Ver todas as referências
K
Mostrar documentação da função
Spccr
Renomear símbolo em todo o projeto
Spcca
Code actions (corrigir, importar…)
Spccf
Formatar o arquivo inteiro
]d
Próximo erro/warning
[d
Erro/warning anterior
Ctrl+o
Voltar de onde veio (após gd)
Autocompletar (modo Insert)
Ctrl+Spc
Forçar abertura do menu
Tab
Navegar pra baixo / aceitar sugestão
Shift+Tab
Navegar pra cima
Enter
Confirmar sugestão
Ctrl+e
Fechar o menu
⑂ Git
Gitsigns (no arquivo)
]h
Próxima alteração (hunk)
[h
Alteração anterior
Spcghs
Stage da alteração atual
Spcghr
Reverter a alteração
Spcghp
Preview do diff inline
Lazygit
Spcgg
Abrir interface visual do Lazygit
💡 Dentro do Lazygit: Spc stage · c commit · p push · q sair.
▣ Janelas & Terminal
Spc|
Dividir verticalmente
Spc-
Dividir horizontalmente
Ctrl+h/l/j/k
Mover foco entre janelas
Spcwd
Fechar janela atual
Spcw=
Equalizar tamanho das janelas
Ctrl+`
Abrir/fechar terminal flutuante
EscEsc
Sair do Insert no terminal
◫ Buffers
Arquivos abertos em memória. Aparecem como abas no topo.
Shift+h
Buffer anterior
Shift+l
Próximo buffer
Spcbd
Fechar buffer atual
Spcbo
Fechar todos os outros buffers
Spcfb
Listar e buscar buffers
: Comandos essenciais
:wSalvar o arquivo
:qFechar a janela
:wqSalvar e fechar
:q!Fechar sem salvar (forçado)
:waSalvar todos os arquivos abertos
:e arquivo.phpAbrir arquivo pelo caminho
:LazyGerenciador de plugins
:Lazy updateAtualizar todos os plugins
:MasonGerenciar LSPs e ferramentas
:checkhealthDiagnóstico completo
:nohRemover highlight da busca
:TutorTutorial interativo do Vim
▶ Fluxo de trabalho
1
Abrir o projetoNa pasta:
nvim . para o explorador ou nvim arquivo.php direto.2
Navegar pelos arquivosSpc+f+f e digita parte do nome do arquivo.
3
Editar o códigoPressione i para Insert. Esc para sair. Use gd para ir a definições e Ctrl+o para voltar.
4
Verificar errosLSP mostra erros em vermelho. ]d para navegar, Spc+c+a para corrigir.
5
Salvar:w ou Ctrl+s. O formatador roda automaticamente ao salvar.
6
CommitarSpc+g+g para o Lazygit. Spc stage · c commit · p push.
★ Dicas finais
💡 Which-key: Pressione Spc e espere — o menu mostra tudo disponível. Explore sem medo.
💡 Números + movimento: 5j desce 5 linhas. 3dd apaga 3 linhas. Qualquer movimento aceita número antes.
💡 Ponto final: O . repete a última ação completa. Poderoso para repetição.
⚠ Ficou travado? Esc várias vezes volta ao Normal. Último recurso: :q!
⚠ Saindo: :wq salva e sai. :q! sai sem salvar.