El comando d{motion}
parece funcionar de manera incompatible:¿Por qué "d1j" elimina dos líneas en vim?
d1j " deletes 2 lines to the bottom
d1l " deletes 1 character to the right
¿Es el comportamiento esperado?
El comando d{motion}
parece funcionar de manera incompatible:¿Por qué "d1j" elimina dos líneas en vim?
d1j " deletes 2 lines to the bottom
d1l " deletes 1 character to the right
¿Es el comportamiento esperado?
Cuando comienza un movimiento y se encuentra en el modo pendiente de operador, su movimiento será inclusivo o exclusivo, y ya sea de forma o en línea (los movimientos lineales siempre incluyen).
j
es un movimiento inclusivo en línea. Probablemente quiera probar dvj
o dgj
(este último funciona con líneas de pantalla).
Ver :help operator
. Puede forzar movimientos en línea, en caracteres o en bloque con V, v o CTRL-V respectivamente.
¡No lo sabía! Un gran consejo :) – rossipedia
Es en realidad no inconsistente. Supongo que estás buscando
Los bits restantes sorprendentes se deben a la noción de vim de linewise, en forma de bloques y characterwise movimientos, que en realidad sólo son abstracciones para permitir que Vim hacer lo correcto o Haga lo que espera cuando opera en las selecciones.
Como @Benoit Dicho esto, es d
operador que lleva a un movimiento.
2j
en línea, va a mover dos líneas hacia abajo, cubriendo 3 líneas.
Nota cómo, si quieres disponer de pistas visuales con eso, se puede establecer la opción rn
:se relativenumber
Esto hará que linenumbering relativa que se muestra en la izquierda 'saco' del editor. Estos números pueden usarse como 'direcciones' y hacer lo que esperas cuando haces 'd12j' o 'd12k'
Te recomiendo que te familiarices con los movimientos text object
antes de acostumbrarte a esto, por cierto. Muchas veces, los objetos de texto son mucho más precisos (y suelen funcionar en modo de caracteres, solo se degradan a selecciones lineales en condiciones apropiadas)
Esta es de hecho una excelente pregunta acerca de cómo funciona vim. – Benoit
Ahora que lo mencionas, sí, es inconsistente. Si habilita la numeración relativa en 7.3+ (que recomiendo encarecidamente), puede ver que la línea actual es 0 y las líneas después/anterior están comenzando con 1. –