2010-11-12 20 views

risposta

353
dgg 

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

d è il comando di eliminazione e gg è un comando di spostamento che dice vai all'inizio del file, quindi quando usato insieme, significa eliminare dalla mia posizione attuale all'inizio del file.

+20

E kdgg farà lo stesso ad eccezione di non eliminare la riga in questione. – Rook

+0

Che cosa significa esattamente 'gg' dopo delete? – cxdf

+2

gg è una scorciatoia Vim - ": help gg" dice: Goto line [count], default first line, sul primo carattere non vuoto | linewise |. Se startofline 'non impostato, mantieni la stessa colonna. –

34
kdgg 

eliminare tutte le righe sopra quella corrente.

+5

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

+2

E utilizzare 5kdgg per eliminare tutte le righe 5 righe sopra quella corrente;) –

29

:1,.d elimina le righe da 1 a corrente.
:1,.-1d elimina le righe da 1 a sopra la corrente.

(Personalmente userei dgg o kdgg come le altre risposte, ma TMTOWTDI.)

+23

Ho provato 'TMTOWTDI' ma sembra che mi lasci in modalità di inserimento senza eliminare nulla? –

+10

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

+2

L'unica variante che funziona anche in VI – basin

5

d1G = cancella in alto tra cui linea corrente (vi)

3

Fornendo sapete questi comandi di vim:

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

quindi, il seguente avere più senso, sono più unitaria e più facile 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 

Cheers.

Problemi correlati