Come si elimina tutto il testo sopra una determinata riga


239

Come si elimina tutto il testo sopra una determinata riga. Per la cancellazione sotto una linea uso "d shift g"

Risposte:


493
dgg

eliminerà tutto dalla riga corrente all'inizio del file.

dè il comando di eliminazione, ed ggè un comando di movimento che dice andare all'inizio del file, quindi quando usato insieme, significa cancellare dalla mia posizione corrente all'inizio del file.

Anche

dG

eliminerà tutte le righe uguali o inferiori a quella corrente


25
E kdgg farà lo stesso, tranne per non eliminare la riga in questione.
Rook,

1
Cosa significa esattamente il ggdopo eliminazione?

3
gg è una scorciatoia di Vim - ": help gg" dice: Vai a linea [conteggio], prima riga predefinita, sul primo carattere non vuoto | linewise |. Se startofline 'non impostato, mantenere la stessa colonna.
Andy White

35
Per coloro che lo cercano, dGeliminerà tutte le righe uguali o inferiori a quella corrente.
dimo414,

1
@ dan3 Penso che il significato di "top of the file" sia abbastanza chiaro in base alla domanda posta, ma puoi modificare la mia risposta se vuoi, oppure puoi creare la tua risposta usando la terminologia che desideri.
Andy White,

38

:1,.delimina le righe da 1 a corrente.
:1,.-1dcancella le righe da 1 a sopra corrente.

(Personalmente userei dggo kdgggradirei le altre risposte, ma TMTOWTDI.)


27
Ho provato TMTOWTDIma sembra che mi lasci in modalità inserimento senza eliminare nulla?
troppo php,

12
TMTOWTDI non è uno dei più di un modo per farlo.
Sarah,

3
tmtowtdi C'è più di un modo per farlo (TMTOWTDI o TIMTOWTDI, pronunciato "Tim Toady") è un motto Perl.
vaichidrewar,

@toomuchphp Il commento è stato fantastico. Ma il nome utente ... che lo ha reso perfetto. +1 a te.
Parthian Shot

38
kdgg

elimina tutte le righe sopra quella corrente.


5
Questo è un po 'confuso; in realtà sta spostando il cursore su una riga con k, quindi eliminando la riga corrente e su con dgg.
dimo414,

2
E usa 5kdgg per eliminare tutte le righe 5 righe sopra quella corrente;)
Stefan van den Akker

8

d1G = cancella in alto inclusa la riga corrente (vi)


6

A condizione che tu conosca questi comandi di vim:

1G -> go to first line in file
G -> go to last line in file

quindi, quanto segue ha più senso, sono più unitari e più facili da ricordare IMHO:

d1G -> delete starting from the line you are on, to the first line of file
dG -> delete starting from the line you are on, to the last line of file

Saluti.

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.