Una solución mínimamente invasiva para los perezosos:
Registrarse 0siempre contiene el último yank (como ya han mencionado Rafael , alex2k8 e idbrii ). Desafortunadamente, seleccionar registrar 0todo el tiempo puede ser bastante molesto, por lo que sería bueno si se pusa "0por defecto. Esto se puede lograr poniendo las siguientes líneas en su .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 primera línea asigna cada ptrazo a "0p. Sin embargo, esto evita el pacceso a otros registros. Por lo tanto todosp trazos con un registro seleccionado explícitamente se asignan a la expresión de línea de comandos equivalente dentro del ciclo for. Lo mismo se hace para P.
De esta forma se conserva el comportamiento estándar, excepto el implícito py los Ptrazos, que ahora usan el registro0 por defecto.
Sugerencia 1: el comando de corte ahora es en "0dlugar de solo d. Pero como soy flojo, esto es demasiado largo para mí;) Por lo tanto, estoy usando la siguiente asignación:
noremap <LEADER>d "0d
noremap <LEADER>D "0D
La clave líder es \predeterminada, por lo que puede cortar fácilmente el texto escribiendo \do \D.
Sugerencia 2: El tiempo de espera predeterminado para las asignaciones de teclas múltiples es bastante corto. Es posible que desee aumentarlo para tener más tiempo al seleccionar un registro. Ver :help timeoutlenpara más detalles, estoy usando:
set timeout timeoutlen=3000 ttimeoutlen=100