Una solución mínimamente invasiva para los perezosos:
Registrarse 0
siempre contiene el último yank (como ya han mencionado Rafael , alex2k8 e idbrii ). Desafortunadamente, seleccionar registrar 0
todo el tiempo puede ser bastante molesto, por lo que sería bueno si se p
usa "0
por 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 p
trazo a "0p
. Sin embargo, esto evita el p
acceso 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 p
y los P
trazos, que ahora usan el registro0
por defecto.
Sugerencia 1: el comando de corte ahora es en "0d
lugar 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 \d
o \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 timeoutlen
para más detalles, estoy usando:
set timeout timeoutlen=3000 ttimeoutlen=100