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 :help do 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

    ComandoDescrição
    h j k lNavegação de caracteres (esquerda, baixo, cima, direita)
    w bNavegação por palavras (próxima, anterior)
    0 $Início/fim da linha
    gg GInício/fim do arquivo
    ddDeletar linha inteira
    yyCopiar linha inteira
    p PColar 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

    ComandoPosicionamento
    iAntes do cursor
    aApós o cursor
    oNova linha abaixo
    ONova linha acima
    IInício da linha
    AFim da linha
    sSubstituir caractere atual e entrar em Insert
    SSubstituir linha inteira e entrar em Insert
    c<movimento>Alterar texto do movimento
    ccAlterar linha inteira

    Exemplo prático de workflow Insert

    1. Pressione i para entrar em Insert
    2. Digite o texto desejado
    3. 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

    ComandoOperação
    dDeletar seleção
    cAlterar seleção
    yCopiar (yank) seleção
    pColar 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

    ComandoAbreviaçãoDescrição
    :wq:xSalvar e sair
    :q!Sair sem salvar
    :w:writeSalvar
    :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

    ModoComportamento
    InsertDesloca caracteres existentes para a direita
    ReplaceSubstitui 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 Esc parece 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, } e t), não em arrastar.
    • Ignorar o modo de operador pendente. É o modo em que o Vim fica entre d e o movimento, e é ele que faz d combinar 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

    1. O que Modo Normal resolve, e o que se perde sem isso?
    2. O que Modo Insert resolve, e o que se perde sem isso?
    3. O que Modo Visual resolve, e o que se perde sem isso?
    4. Qual parte desta página você conseguiria reproduzir sem consultar, direto no editor?

    Artigos relacionados

    Veja também

    Referências