Você deve usar os registros "a
to "z
(named), em vez dos registros numerados, que armazenam as exclusões anteriores automaticamente.
Não consegui descobrir isso ...
Então eu geralmente gosto de selecionar uma palavra (digamos, albatross
) e copiá-la para um registrador usando v i w < kbd> y , que - pelo que entendi - copia para o registrador *
.
Então eu quero colar novamente sobre outra palavra ( sparrow
), então eu farei v i w p .
Mas muitas vezes eu quero colar a palavra original ( albatross
) em mais uma palavra ( osprey
), mas quando tento repetir meus comandos anteriores, o valor colado sai como sparrow
, não %código%. Isso, eu sei, é porque quando o texto é excluído antes de ser colado, ele é copiado para o albatross
register, sobrescrevendo *
com albatross
.
Eu pensei que poderia contornar isso usando registros nomeados, então eu tentei copiar com v i w " 1 y e colando com v i w " 1 p , mas isso apenas reproduz meu problema original com o sparrow
register usando o *
register.
Para todos vocês ninjas VIM por aí, o que estou fazendo de errado? Eu gostaria de poder rapidamente arrancar algum texto arbitrário (de preferência usando o "1
register, pois ele me salva dois pressionamentos de teclas) e colar esse valor original *
vezes depois em qualquer ponto no documento.
Como algo assim é feito com eficiência?
O 0
register mantém o último texto capturado, portanto, depois de arrancar algum texto, você poderá colá-lo repetidamente com "0p
. Para mais sobre isso, veja
:help quote0
Tags vim