Modos do Neovim
Definição curta: Modos são estados operacionais do Neovim que alteram o comportamento do teclado e da interface. Cada modo é especializado para uma tarefa específica como navegação, edição ou execução de comandos.
Antes de começar
- Saber sair do Neovim (
:q) e navegar em modo normal
O que você vai aprender
- Explicar Modo Normal com suas palavras
- Explicar Modo Insert com suas palavras
- Explicar Modo Visual com suas palavras
- Localizar o assunto desta página no
:helpdo seu próprio Neovim
O que é
O Neovim é um editor modal, diferentemente de editores como VS Code ou Sublime Text que operam em modo único. Esta arquitetura foi herdada do Vim e permite manipulação eficiente de texto através de combinações de teclas otimizadas para as mãos.
Os modos existem porque separan a lógica de navegação, edição e comando em contextos distintos, evitando sobrecarga de teclas e permitindo operações complexas sem precisar memorizar centenas de atalhos.
Índice de sub-tópicos
Modo Normal
O modo Normal é o modo padrão ao abrir o Neovim. Neste modo, cada tecla executa um comando de navegação ou manipulação de texto ao invés de inserir caracteres.
Comandos essenciais do Modo Normal
| Comando | Descrição |
|---|---|
h j k l | Navegação de caracteres (esquerda, baixo, cima, direita) |
w b | Navegação por palavras (próxima, anterior) |
0 $ | Início/fim da linha |
gg G | Início/fim do arquivo |
dd | Deletar linha inteira |
yy | Copiar linha inteira |
p P | Colar após/antes do cursor |
Diagrama de transições entre modos
stateDiagram-v2
[*] --> Normal: <Esc>
Normal --> Insert: i, a, o, A, I, O
Normal --> Visual: v, V, <C-v>
Normal --> Command: :
Normal --> Replace: R
Insert --> Normal: <Esc>
Visual --> Normal: <Esc>
Command --> Normal: <Enter>, <Esc>
Replace --> Normal: <Esc>Modo Insert
O modo Insert é usado para inserir texto exatamente como em editores convencionais. É ativado por diversos comandos que posicionam o cursor de formas específicas antes de inserir.
Comandos para entrar no Modo Insert
| Comando | Posicionamento |
|---|---|
i | Antes do cursor |
a | Após o cursor |
o | Nova linha abaixo |
O | Nova linha acima |
I | Início da linha |
A | Fim da linha |
s | Substituir caractere atual e entrar em Insert |
S | Substituir linha inteira e entrar em Insert |
c<movimento> | Alterar texto do movimento |
cc | Alterar linha inteira |
Exemplo prático de workflow Insert
- Pressione
ipara entrar em Insert - Digite o texto desejado
- Pressione
<Esc>para retornar ao Normal
Modo Visual
O modo Visual permite selecionar blocos de texto para operações subsequentes. A seleção pode ser por caracteres, linhas ou blocos retangulares.
Tipos de seleção visual
v— Seleção por caracteres (move cursor para expandir/shrinking)V— Seleção por linhas inteiras<C-v>— Seleção em bloco retangular (columnar)
Operações após seleção
| Comando | Operação |
|---|---|
d | Deletar seleção |
c | Alterar seleção |
y | Copiar (yank) seleção |
p | Colar sobre seleção |
> | Indentar |
< | Desindentar |
Modo Command-Line
O modo Command-Line permite executar comandos Ex, buscas com padrão e filtrar texto. É acessado pressionando : no modo Normal.
Comandos Ex comuns
| Comando | Abreviação | Descrição |
|---|---|---|
:wq | :x | Salvar e sair |
:q! | — | Sair sem salvar |
:w | :write | Salvar |
:s/ | — | Substituir padrão |
:/ | — | Buscar para frente |
:? | — | Buscar para trás |
Exemplo de comando de substituição
:%s/velho/novo/g
Este comando substitui todas as ocorrências de “velho” por “novo” em todo o arquivo.
Modo Replace
O modo Replace substitui caracteres existentes ao digitar, diferente do Insert que insere. Pressione R no modo Normal para entrar.
Diferença entre Insert e Replace
| Modo | Comportamento |
|---|---|
| Insert | Desloca caracteres existentes para a direita |
| Replace | Substitui caracteres existentes no lugar |
Modo Select
O modo Select é semelhante ao Visual mas com comportamento de seleção estilo GUI (Selecionar e digitar substitui). Ativado por gh no Normal.
Erros comuns
- Ficar preso no modo de inserção. Se
Escparece longe, remapeie — mas remapear antes de entender por que os modos existem costuma produzir uma configuração que ninguém mais consegue usar, inclusive você daqui a um ano. - Achar que modo visual é seleção de mouse. É seleção de movimento: o valor está em compor com
w,}et), não em arrastar. - Ignorar o modo de operador pendente. É o modo em que o Vim fica entre
de o movimento, e é ele que fazdcombinar com qualquer coisa. Sem esse conceito, cada comando parece decorado.
Você aprendeu
- Modo Normal
- Modo Insert
- Modo Visual
- Modo Command-Line
- Modo Replace
Perguntas para reflexão
- O que Modo Normal resolve, e o que se perde sem isso?
- O que Modo Insert resolve, e o que se perde sem isso?
- O que Modo Visual resolve, e o que se perde sem isso?
- Qual parte desta página você conseguiria reproduzir sem consultar, direto no editor?
Artigos relacionados
Veja também
- Motions — Comandos de navegação
- Operators — Comandos de manipulação de texto
- Text Objects — Seleção de estruturas de texto
Referências
- Neovim Modes Documentation — Documentação oficial sobre modos
- Vim Modes — Guia completo sobre modos