Como foi observado por @Trendfischer em seu comentário, o comportamento atual do vim não é (mais?) esvaziar o registro na primeira vez que pressionar q
.
Agora, se você escolheu o registro errado, veja o que você pode fazer:
- não sai do modo de gravação (por enquanto),
- crie uma linha vazia,
- cole o registro que você está sobrescrevendo (se estiver gravando no
q
register, é "qp
),
- agora saia do modo de gravação (
q
)
- selecione a linha colada acima (sem marca de fim de linha:
0v$h
; não use V
)
- digite-o no registro que você sobrescreveu (
"qy
se você estiver usando o q
register; novamente: não use a cópia inteligente de linha Y
).
- agora você tem sua macro antiga de volta no registro e pode reiniciar a gravação da nova macro no registro correto.
Claro que, com um pouco de esforço, você pode salvar a macro antiga e a nova (mas é necessário iniciar o processo antes de pressionar a segunda vez que o q
): basta colar o que você gravou e copiar o registo "novo" / "direito".