Os comandos dos quais você está falando usam o chamado registro "sem nome". Destina-se apenas para uso a muito curto prazo. "Eu vou arrancar isso daqui e colocá-lo lá" tipo de coisas.
Quando você quiser segurar algo por mais do que alguns segundos enquanto faz outra coisa, você deve estar usando registros nomeados.
Por exemplo, " a y y vai puxar a linha em que o cursor está no a
register.Novy irá sobrescrever acidentalmente, a menos que você digite outro comando envolvendo o a
register.Minutes, hours, even days later, você pode digitar " a p para deixar cair a cópia da linha do registro a
abaixo do que o cursor está.
(Para que isso funcione muito bem, você deve ter uma linha como set viminfo='50,\"1000
no seu arquivo ~/.vimrc
, para que ele se lembre de coisas como registrar conteúdo nas sessões do Vim. Você pode sair de férias entre o yank e o put !)
Existem 26 registros nomeados (a-z). Se você os der como maiúsculos em vez de como mostrado acima, você anexa ao conteúdo do registro atual em vez de substituí-los. Então, você pode construir algo realmente complexo, digamos, registre h
uma parte por vez, então plop tudo de uma vez com " h p .
Observe que o nome do registro é opcional. Isto implica que pode haver muitos comandos que você já conhece e usa onde você poderia estar usando registros nomeados. Diga :help registers
no Vim para ter uma ideia das possibilidades.
Além disso, obtenha uma caneca Vi .