Recientemente eliminé el complemento YankRing de mi configuración en parte porque estaba causando algunos problemas con las macros, pero principalmente porque decidí que sería mejor entrenarme para usar los registros de Vim, en particular, la forma en que el texto eliminado se almacena inicialmente en el registro "1
y luego desplazado hacia arriba a través "2
, "3
, etc. medida que se realizan supresiones adicionales es muy útil.
Sin embargo, cuando una eliminación / cambio elimina menos de una línea de texto, se almacena en el "-
pequeño registro de eliminación (con algunas excepciones para ciertos comandos de movimiento). Si se realizan pequeñas eliminaciones posteriores, ese bit de texto se pierde.
¿Es posible hacer que Vim almacene todas las eliminaciones en el registro "1
?
nnoremap d "1d
casi funciona, pero terminas con el texto en ambos registros "1
y "2
.
No me importa si la funcionalidad del pequeño registro de eliminación se ve afectada o no. Sugerir que cambie mi comportamiento para guardar pequeñas eliminaciones en un registro con nombre definitivamente no sería una respuesta útil, eso es lo que estoy haciendo actualmente.
Tengo una solución de prueba de concepto que funciona para el
d
comando con movimientos y en modo visual. Todavía no es una solución completamente robusta (por ejemplo,d[count]d
no funciona , y tampoco lo hace[count]D
), pero casi cubre todos mis casos de uso reales.Funciona configurando una función de operador de cliente que:
Consulte
:help map-operator
para obtener una explicación de cómo funcionan las funciones del operador.fuente
y
yc
pero parac
mi nvim no entra en el modo de inserción después de la acción ... Actualmente tengo queexecute l
ystartinsert
que no es una solución adecuada (comoc$
sería poner el cursor en la posición incorrecta). ¿Algunas ideas?Consulte la solicitud de extracción en el editor de neovim :
[RFC] Agregue una opción para usar registros numerados para eliminaciones más pequeñas # 8169
Traté de agregar la
smalldel
opción, que le permite configurar el número mínimo de caracteres eliminados que se insertarán en los registros numerados "1 .." 9La próxima versión de neovim después de fusionar este PR (si esto sucede) contendrá esta opción.
fuente