Una soluzione minimamente invasiva per i più pigri:
Register 0contiene sempre l'ultimo yank (come già menzionato Rafael , alex2k8 e idbrii ). Sfortunatamente, selezionare il registro in 0qualsiasi momento può essere piuttosto fastidioso, quindi sarebbe bello se lo putilizzi "0per impostazione predefinita. Ciò può essere ottenuto inserendo le seguenti righe nel tuo .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
La prima riga mappa ogni ptratto su "0p. Tuttavia, ciò impedisce l' paccesso a qualsiasi altro registro. Pertanto, tutti i ptratti con un registro selezionato in modo esplicito vengono associati all'espressione della riga di comando equivalente all'interno del for-loop. Lo stesso è fatto per P.
In questo modo viene preservato il comportamento standard, ad eccezione dell'implicito pe dei Ptratti, che ora utilizzano il registro0 per impostazione predefinita.
Suggerimento 1: il comando di taglio è ora "0danziché solo d. Ma dato che sono pigro, questo è troppo lungo per me;) Quindi sto usando il seguente mapping:
noremap <LEADER>d "0d
noremap <LEADER>D "0D
La chiave principale è \di default, quindi puoi tagliare facilmente il testo digitando \do \D.
Suggerimento 2: il timeout predefinito per i mapping multi-chiave è piuttosto breve. Potresti volerlo aumentare per avere più tempo quando selezioni un registro. Vedi :help timeoutlenper i dettagli, sto usando:
set timeout timeoutlen=3000 ttimeoutlen=100