Jak mogę usunąć w VIM cały tekst z bieżącego wiersza do końca pliku?
213
Mam bardzo duże pliki (ponad 10 Gb). Potrzebuję tylko kilku wierszy z góry pliku. Czy jest możliwe (w vimie) usunięcie reszty pliku (od bieżącej linii do końca pliku)?
Wiem, że chcesz użyć Vima, ale zrobiłbym polecenie powłoki, takie jak: head -n <number_of_lines> <filename> > <truncated_filename> gdzie -njest parametr liczby linii, które chcesz od góry
EhevuTov
Odpowiedzi:
365
dG usunie z bieżącego wiersza do końca pliku
dCtrl+ Endusunie od kursora do końca pliku
Ale jeśli ten plik jest tak duży, jak mówisz, lepiej jest przeczytać kilka pierwszych wierszy headzamiast edytować i zapisywać plik.
head hugefile > firstlines
(Jeśli korzystasz z systemu Windows, możesz użyć portu Win32 head)
Spowoduje to usunięcie całej zawartości z bieżącego wiersza do końca pliku. Jest to bardzo przydatne w przypadku generowania lub usuwania wektorów testowych.
Wolę mieć większą kontrolę nad linią początkową, więc używam: :<line number>,$dna przykład: :3,$dusunie z linii 3 do końca pliku
emont01
0
Po prostu dodaj inny sposób, w trybie normalnym wpisz, ctrl+va następnie Gwybierz resztę, a następnie D, nie sądzę, aby był skuteczny, powinieneś zrobić jak @Ed Guiness, head -n 20> nazwa pliku w systemie Linux.
head -n <number_of_lines> <filename> > <truncated_filename>
gdzie-n
jest parametr liczby linii, które chcesz od góryOdpowiedzi:
dG usunie z bieżącego wiersza do końca pliku
dCtrl+ Endusunie od kursora do końca pliku
Ale jeśli ten plik jest tak duży, jak mówisz, lepiej jest przeczytać kilka pierwszych wierszy
head
zamiast edytować i zapisywać plik.(Jeśli korzystasz z systemu Windows, możesz użyć portu Win32
head
)źródło
head
zasila np.head -n20 hugefile
dla pierwszych 20 linii. n domyślniehead
? Korzystanie z dG na dużym pliku (1G +) zajmuje dużo czasu (np. 5 minut).dgg
usunie z bieżącego wiersza do początku pliku.Przejdź do pierwszego wiersza, z którego chcesz usunąć, i naciśnij klawisze dG
źródło
:.,$d
Spowoduje to usunięcie całej zawartości z bieżącego wiersza do końca pliku. Jest to bardzo przydatne w przypadku generowania lub usuwania wektorów testowych.
źródło
:<line number>,$d
na przykład::3,$d
usunie z linii 3 do końca plikuPo prostu dodaj inny sposób, w trybie normalnym wpisz,
ctrl+v
a następnieG
wybierz resztę, a następnieD
, nie sądzę, aby był skuteczny, powinieneś zrobić jak @Ed Guiness, head -n 20> nazwa pliku w systemie Linux.źródło