Uma solução invasiva mínima para os preguiçosos:
O registro 0
sempre contém o último puxão (como Rafael , alex2k8 e idbrii já mencionaram). Infelizmente, selecionar o registro 0
o tempo todo pode ser bastante irritante, por isso seria bom se o p
usar "0
por 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 p
curso para "0p
. No entanto, isso impede o p
acesso a outros registros. Portanto, todos os p
traç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 p
e os P
traços, que agora usam o registro 0
por padrão.
Dica 1: O comando recortar é agora, e "0d
nã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 \d
ou \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 timeoutlen
para detalhes, estou usando:
set timeout timeoutlen=3000 ttimeoutlen=100