Come posso eliminare la riga successiva in vim?


10

In emacs, ogni volta che voglio eliminare alcune righe di testo, uso semplicemente Ck fino a quando tutto il testo è sparito. Tuttavia, in definitiva sembra un po 'più complesso. So che posso fare d$per eliminare fino alla fine della riga e ddper eliminare l'intera riga in cui mi trovo, ma come posso eliminare tutta la riga successiva ?

Risposte:



16

Presupposto: vuoi finire sulla linea da cui hai iniziato.

La mia risposta: jddk

  • j (si sposta in basso)
  • dd (elimina la riga corrente)
  • k (si sposta verso l'alto)

Provalo - è veloce! In effetti, sono due le battute in meno rispetto alla risposta attualmente accettata perché:

  1. non è necessario tenere premuto [Shift]per inserire i due punti ":" e più i caratteri "+" e
  2. non è necessario il implicito [Enter]alla fine della sequenza, poiché jddkviene inserito tutto in modalità visiva anziché in modalità comando .

Inoltre, jddkè tutto sulla riga iniziale della tastiera.

Ho passato molto tempo usando h, j, k, l per navigare vi, molto prima che il software di emulazione terminale che usavo iniziasse a supportare i tasti freccia. (Sto parlando di ~ 20 anni fa ;-)


1
hjkl è comunque più veloce. Non ho mai usato una tastiera che non avesse i tasti freccia e ho iniziato a valutare molto l'efficacia di queste combinazioni di tasti circa 10 minuti dopo che ho smesso di essere infastidito dall'intuitività di esse.
intuito il


2

Potresti anche essere interessato alla modalità visiva. Basta usare vper entrare e ystrattonare o dper cancellare. Il controllo :helpè un ottimo posto anche quando sei bloccato. Ad esempio, :help deleteti darà il manuale per la maggior parte dei soliti comandi di eliminazione.


0

Se si desidera eliminare un gruppo di righe di seguito, è possibile utilizzare ddper eliminare la riga in cui ci si trova, quindi continuare a premere (o tenere premuto) .(punto) per ripetere il comando.


o digitare Ndd dove N è il numero di righe da eliminare. ad esempio, per eliminare la riga corrente e le due righe successive (3 in totale), digitare 3dd
quack quixote
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.