Recentemente, li sobre o registro do buraco negro, "_
que é um registro somente para gravação.
A documentação do Vim descreve da seguinte maneira:
- Registro do buraco negro "_
Ao escrever neste registro, nada acontece. Isso pode ser usado para excluir texto sem afetar os registros normais. Ao ler este registro, nada é retornado.
Em todos os artigos e livros que li, os autores sempre usam o mesmo exemplo, que é o de usar esse registro quando precisamos excluir algum texto sem apagar o que puxamos anteriormente.
Entendo esse uso, mas estou surpreso pelo fato de não encontrar outros casos de uso desse registro, o que me leva a duas perguntas:
Esse registro é útil em outros casos de uso ? Se sim, quais?
Se o único objetivo deste registro é para ser usado no caso de uso que citei anteriormente, por que os criadores do Vim decidiram resolver esse problema com esse registro ? Quero dizer que esta resposta mostra uma solução para o problema, o que implica menos pressionamentos de tecla do que usar
"_
. O uso"0
também pode evitar o uso do registro do buraco negro. Por que eles o criaram?
fonte
Além de excluir o texto, você pode usar o registro do buraco negro para excluir outros registros. Exemplo:
Essa é uma maneira de limpar o registro
"a
.fonte
:call setreg('a', [])
", como eu fiz: lamentavelmente, a resposta é não. Ele age como:call setreg('a', '')
(deixando"a
na saída do:registers
comando."a
na produção:registers
para os não iniciados?Um uso prático em uma função. Na função abaixo, o comentário python
#
é adicionado e removido, dependendo do resultado degetline('.')[0]
. Se a linha tem um comentário o caractere#
é excluído, mas neste caso nós não queremos isso para mexer com o nosso padrão de registro.fonte