¿Cómo elimino la siguiente línea en vim?

10

En emacs, cada vez que quiero eliminar algunas líneas de texto, solo uso Ck hasta que todo el texto desaparezca. Sin embargo, en vim parece un poco más complejo. Sé que puedo hacer d$para eliminar hasta el final de la línea y ddeliminar toda la línea en la que estoy, pero ¿cómo elimino toda la línea siguiente ?

Jason Baker
fuente

Respuestas:

5

Me gusta esto:

:+1d
Ignacio Vazquez-Abrams
fuente
16

Suposición: desea terminar en la línea en la que comenzó.

Mi respuesta: jddk

  • j (se mueve hacia abajo)
  • dd (elimina la línea actual)
  • k (se mueve hacia arriba)

Pruébalo, ¡es rápido! De hecho, son dos teclas menos que la respuesta actualmente aceptada porque:

  1. no es necesario mantener presionado [Shift]para ingresar los dos puntos ':' y más '+', y
  2. que no es necesario el implícito [Enter]al final de la secuencia, ya que jddkse introduce todo en el modo visual en contraposición a modo de comando .

Además, jddktodo está en la fila de inicio del teclado.

Pasé mucho tiempo usando h, j, k, l para navegar vi, mucho antes de que el software de emulación de terminal que usé comenzara a admitir teclas de flecha. (Estoy hablando de ~ hace 20 años ;-)

Chris W. Rea
fuente
1
hjkl es más rápido de todos modos. Nunca he usado un teclado que no tuviera teclas de flecha, y comencé a valorar enormemente la eficacia de estas combinaciones de teclas unos 10 minutos después de que dejé de molestarme por su falta de intuición.
intuido
2

También te puede interesar el modo visual. Solo use vpara ingresar y ypara tirar o dpara eliminar. Verificar :helpes un gran lugar cuando estás atascado también. Por ejemplo, :help deletele dará el manual para la mayoría de los comandos de eliminación habituales.

Joe Bane
fuente
0

Si desea eliminar un montón de líneas en una fila, puede usar ddpara eliminar la línea en la que se encuentra, y luego presionar (o mantener presionado) .(punto) para repetir el comando.

asesino
fuente
o escriba Ndd donde N es el número de líneas para eliminar. por ejemplo, para eliminar la línea actual y las siguientes dos líneas (3 en total), escriba 3dd
quack quixote