Jak usunąć cały tekst powyżej określonego wiersza

239

Jak usunąć cały tekst powyżej określonego wiersza. Do usunięcia poniżej linii używam „d shift g”

użytkownik339108
źródło

Odpowiedzi:

493
dgg

usunie wszystko z bieżącego wiersza do góry pliku.

djest poleceniem usuwania i ggjest poleceniem ruchu, które mówi, aby przejść do początku pliku, więc użyte razem oznacza usunięcie z mojej bieżącej pozycji na górę pliku.

Również

dG

usunie wszystkie wiersze w bieżącym lub poniżej bieżącego

Andy White
źródło
25
I kdgg zrobi to samo, ale nie usunie danego wiersza.
Rook
1
Co dokładnie oznacza ggusunięcie po?
3
gg jest skrótem Vima - „: help gg” mówi: Idź do linii [liczba], domyślnie pierwsza linia, na pierwszym niepustym znaku | linewise |. Jeśli startofline nie jest ustawiony, zachowaj tę samą kolumnę.
Andy White,
35
Dla tych, którzy go szukają, dGusuną wszystkie wiersze na bieżącym lub poniżej bieżącego.
dimo414,
1
@ dan3 Myślę, że znaczenie „góry pliku” jest dość jasne w oparciu o zadane pytanie, ale możesz edytować moją odpowiedź, jeśli chcesz, lub możesz stworzyć własną odpowiedź, używając dowolnej terminologii.
Andy White
38

:1,.dusuwa wiersze 1 do bieżącego.
:1,.-1dusuwa linie od 1 do powyżej prądu.

(Osobiście użyłbym dgglub kdggpodoba mi się inne odpowiedzi, ale TMTOWTDI.)

efemeryczny
źródło
27
Próbowałem, TMTOWTDIale wydaje mi się, że pozostawia mnie w trybie wstawiania bez usuwania czegokolwiek?
za dużo php
12
TMTOWTDI nie jest jednym z wielu sposobów, aby to zrobić.
Sarah,
3
tmtowtdi Jest na to więcej niż jeden sposób (TMTOWTDI lub TIMTOWTDI, wymawiane jako „Tim Toady”) to motto Perla.
vaichidrewar
@toomuchphp Komentarz był fantastyczny. Ale nazwa użytkownika ... dzięki czemu była idealna. +1 dla ciebie.
Parthian Shot
38
kdgg

usuń wszystkie wiersze powyżej bieżącego.

Wieża
źródło
5
To jest trochę mylące; przesuwa kursor w górę o linię k, a następnie usuwa bieżącą linię i w górę o dgg.
dimo414,
2
I użyj 5kdgg, aby usunąć wszystkie linie 5 linii powyżej bieżącej;)
Stefan van den Akker
8

d1G = usuń do góry włączając bieżącą linię (vi)

mikiedba
źródło
6

Pod warunkiem, że znasz te polecenia vim:

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

wówczas poniższe mają większy sens, są bardziej jednolite i łatwiejsze do zapamiętania 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

Twoje zdrowie.

Lian Sebe
źródło