Uma solução invasiva mínima para os preguiçosos:
O registro 0sempre contém o último puxão (como Rafael , alex2k8 e idbrii já mencionaram). Infelizmente, selecionar o registro 0o tempo todo pode ser bastante irritante, por isso seria bom se o pusar "0por padrão. Isso pode ser alcançado colocando as seguintes linhas no seu .vimrc:
noremap p "0p
noremap P "0P
for s:i in ['"','*','+','-','.',':','%','/','=','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
execute 'noremap "'.s:i.'p "'.s:i.'p'
execute 'noremap "'.s:i.'P "'.s:i.'P'
endfor
A primeira linha mapeia cada pcurso para "0p. No entanto, isso impede o pacesso a outros registros. Portanto, todos os ptraços com um registro selecionado explicitamente são mapeados para a expressão de linha de comando equivalente no loop for. O mesmo é feito para P.
Dessa forma, o comportamento padrão é preservado, exceto os implícitos pe os Ptraços, que agora usam o registro 0por padrão.
Dica 1: O comando recortar é agora, e "0dnão apenas d. Mas como sou preguiçoso, isso é muito longo para mim;) Portanto, estou usando o seguinte mapeamento:
noremap <LEADER>d "0d
noremap <LEADER>D "0D
A tecla líder é \por padrão, para que você possa cortar o texto facilmente digitando \dou \D.
Dica 2: o tempo limite padrão para mapeamentos de várias chaves é bastante curto. Você pode aumentá-lo para ter mais tempo ao selecionar um registro. Veja :help timeoutlenpara detalhes, estou usando:
set timeout timeoutlen=3000 ttimeoutlen=100