Registers

    Definição curta: Registers são áreas de armazenamento que mantêm texto copiado (yanked), deletado ou histórico de comandos. O Neovim tem múltiplos registers para diferentes propósitos.

    Antes de começar

    • Saber sair do Neovim (:q) e navegar em modo normal

    O que você vai aprender

    • Explicar Sintaxe de acesso com suas palavras
    • Explicar Registers especiais com suas palavras
    • Explicar Registers de delete com suas palavras
    • Localizar o assunto desta página no :help do seu próprio Neovim

    O que é

    Registers estendem o modelo de clipboard do Vim/Neovim. Cada register é identificado por um caractere e pode conter texto independente. Isto permite manter múltiplos itens copiados simultaneamente.

    Índice de sub-tópicos

    Sintaxe de acesso

    SintaxeDescrição
    "Prefixo de register (obrigatório antes do nome)
    a-zRegisters nomeados (lowercase sobrescreve)
    A-ZRegisters nomeados (uppercase append)
    "aRegister a
    AAppend ao register a

    Uso com operators

    "ayy    # Yank linha para register a
    "ap     # Colar conteúdo do register a
    "bdd    # Deletar linha para register b

    Registers especiais

    RegisterConteúdoRead-only
    "Último yank/delteNão
    0Último yank (não delete)Sim
    1Último deleteSim
    -Delete menor que uma linhaSim
    .Último texto inseridoSim
    %Nome do arquivo atualSim
    #Nome do arquivo alternativoSim
    :Último comando ExSim
    /Último padrão de buscaSim
    _Buraco negro (descarta)Sim
    *Clipboard do sistemaNão
    +Clipboard do sistema (X11)Não
    ~Conteúdo do último dropSim

    Registers de delete

    Quando você deleta texto, ele vai para:

    • Register " (padrão)
    • Register 1 (último delete)
    • Register 2-9 (histórico de deletes)

    O register - recebe deletes menores que uma linha.

    Expression register

    O register = é especial: avalia expressões Lua ou Vimscript.

    "=vim.fn.input("Expr: ")<CR>p
    "=5+3<CR>p

    Armazenamento persistente

    Registers podem ser salvos/restaurados via vim.opt ou Lua:

    -- Salvar register a
    local reg_a = vim.fn.getreg('a')
    
    -- Restaurar register a
    vim.fn.setreg('a', reg_a)

    Erros comuns

    • Perder o que copiou ao apagar. d também escreve no registrador padrão. Use "0p para colar o último yank, que sobrevive aos deletes.
    • Ignorar o registrador _. "_d apaga sem tocar em registrador nenhum — é o conserto para o problema acima.
    • Achar que o sistema compartilha por padrão. Sem clipboard configurado, o + do sistema e o registrador padrão são coisas separadas.

    Você aprendeu

    • Sintaxe de acesso
    • Registers especiais
    • Registers de delete
    • Expression register
    • Armazenamento persistente

    Perguntas para reflexão

    1. O que Sintaxe de acesso resolve, e o que se perde sem isso?
    2. O que Registers especiais resolve, e o que se perde sem isso?
    3. O que Registers de delete 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