Comment supprimez-vous tout le texte au-dessus d'une certaine ligne

239

Comment supprimez-vous tout le texte au-dessus d'une certaine ligne. Pour la suppression sous une ligne, j'utilise "d shift g"

user339108
la source

Réponses:

493
dgg

supprimera tout de votre ligne actuelle en haut du fichier.

dest la commande de suppression, et ggest une commande de mouvement qui dit aller en haut du fichier, donc lorsqu'elle est utilisée ensemble, cela signifie supprimer de ma position actuelle en haut du fichier.

Aussi

dG

supprimera toutes les lignes au niveau ou en dessous de la ligne actuelle

Andy White
la source
25
Et kdgg fera de même, sauf qu'il ne supprimera pas la ligne en question.
Tour
1
Que signifie exactement la ggsuppression après?
3
gg est un raccourci Vim - ": help gg" dit: Goto line [count], première ligne par défaut, sur le premier caractère non vide | linewise |. Si startofline 'n'est pas défini, conservez la même colonne.
Andy White
35
Pour ceux qui le recherchent, dGsupprimera toutes les lignes au niveau ou en dessous de la ligne actuelle.
dimo414
1
@ dan3 Je pense que la signification de "haut du fichier" est assez claire en fonction de la question posée, mais vous pouvez modifier ma réponse si vous le souhaitez, ou vous pouvez créer votre propre réponse en utilisant la terminologie que vous voulez.
Andy White
38

:1,.dsupprime les lignes 1 du courant.
:1,.-1dsupprime les lignes 1 au-dessus du courant.

(Personnellement, j'utiliserais dggou kdggaimerais les autres réponses, mais TMTOWTDI.)

éphémère
la source
27
J'ai essayé TMTOWTDImais ça semble juste me laisser en mode insertion sans rien supprimer?
trop de php
12
TMTOWTDI n'est pas l'une des plus d'une façon de le faire.
Sarah
3
tmtowtdi Il y a plus d'une façon de le faire (TMTOWTDI ou TIMTOWTDI, prononcé "Tim Toady") est une devise de Perl.
vaichidrewar
@toomuchphp Le commentaire était fantastique. Mais le nom d'utilisateur ... qui le rendait parfait. +1 pour vous.
Parthian Shot
38
kdgg

supprimez toutes les lignes au-dessus de la ligne actuelle.

Tour
la source
5
C'est un peu déroutant; il s'agit en fait de déplacer le curseur vers le haut d'une ligne avec k, puis de supprimer la ligne actuelle et vers le haut avec dgg.
dimo414
2
Et utilisez 5kdgg pour supprimer toutes les lignes à 5 lignes au-dessus de la ligne actuelle;)
Stefan van den Akker
8

d1G = supprimer en haut, y compris la ligne actuelle (vi)

mikiedba
la source
6

À condition de connaître ces commandes vim:

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

alors, les éléments suivants ont plus de sens, sont plus unitaires et plus faciles à retenir à mon humble avis:

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

À votre santé.

Lian Sebe
la source