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
:helpdo 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
- Registers especiais
- Registers de delete
- Expressão register
- Armazenamento persistente
Sintaxe de acesso
| Sintaxe | Descrição |
|---|---|
" | Prefixo de register (obrigatório antes do nome) |
a-z | Registers nomeados (lowercase sobrescreve) |
A-Z | Registers nomeados (uppercase append) |
"a | Register a |
A | Append ao register a |
Uso com operators
"ayy # Yank linha para register a
"ap # Colar conteúdo do register a
"bdd # Deletar linha para register bRegisters especiais
| Register | Conteúdo | Read-only |
|---|---|---|
" | Último yank/delte | Não |
0 | Último yank (não delete) | Sim |
1 | Último delete | Sim |
- | Delete menor que uma linha | Sim |
. | Último texto inserido | Sim |
% | Nome do arquivo atual | Sim |
# | Nome do arquivo alternativo | Sim |
: | Último comando Ex | Sim |
/ | Último padrão de busca | Sim |
_ | Buraco negro (descarta) | Sim |
* | Clipboard do sistema | Não |
+ | Clipboard do sistema (X11) | Não |
~ | Conteúdo do último drop | Sim |
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>pArmazenamento 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.
dtambém escreve no registrador padrão. Use"0ppara colar o último yank, que sobrevive aos deletes. - Ignorar o registrador
_."_dapaga sem tocar em registrador nenhum — é o conserto para o problema acima. - Achar que o sistema compartilha por padrão. Sem
clipboardconfigurado, 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
- O que Sintaxe de acesso resolve, e o que se perde sem isso?
- O que Registers especiais resolve, e o que se perde sem isso?
- O que Registers de delete 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
- Operators — Comandos que usam registers
- Tutorial init.lua básico — Configuração de registers
Referências
- Neovim Documentation — Documentação oficial