LazyVim

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.