Wie kann ich in VIM den gesamten Text von der aktuellen Zeile bis zum Ende der Datei löschen?
213
Ich habe sehr große Dateien (mehr als 10 GB). Ich brauche nur einige Zeilen vom Anfang der Datei. Ist es möglich (in vim), den Rest der Datei (von der aktuellen Zeile bis zum Ende der Datei) zu löschen?
Ich weiß, dass Sie Vim verwenden möchten, aber ich würde einen Shell-Befehl head -n <number_of_lines> <filename> > <truncated_filename>-n
ausführen
Antworten:
365
dG wird aus der aktuellen Zeile bis zum Ende der Datei gelöscht
dCtrl+ Endwird vom Cursor bis zum Ende der Datei gelöscht
Wenn diese Datei jedoch so groß ist, wie Sie sagen, ist es möglicherweise besser, die ersten Zeilen mit zu lesen, headals die Datei zu bearbeiten und zu speichern.
head hugefile > firstlines
(Wenn Sie unter Windows arbeiten, können Sie den Win32-Port von verwenden. head)
Dadurch wird der gesamte Inhalt von der aktuellen Zeile bis zum Ende der Datei gelöscht. Dies ist sehr nützlich, wenn Sie sich mit der Erzeugung oder dem Strippen von Testvektoren befassen.
Ich bevorzuge mehr Kontrolle über die Startzeile, also benutze ich: :<line number>,$dzum Beispiel: :3,$dlöscht von Zeile 3 bis zum Ende der Datei
emont01
0
Fügen Sie einfach eine andere Möglichkeit hinzu, geben Sie im normalen Modus ctrl+vdann ein G, wählen Sie den Rest aus, dann D, ich glaube nicht, dass es effektiv ist, sollten Sie @Ed Guiness, head -n 20> Dateiname unter Linux mögen.
head -n <number_of_lines> <filename> > <truncated_filename>
-n
Antworten:
dG wird aus der aktuellen Zeile bis zum Ende der Datei gelöscht
dCtrl+ Endwird vom Cursor bis zum Ende der Datei gelöscht
Wenn diese Datei jedoch so groß ist, wie Sie sagen, ist es möglicherweise besser, die ersten Zeilen mit zu lesen,
head
als die Datei zu bearbeiten und zu speichern.(Wenn Sie unter Windows arbeiten, können Sie den Win32-Port von verwenden.
head
)quelle
head
geliefert werden, z. B.:head -n20 hugefile
für die ersten 20 Zeilen. n standardmäßig 10.head
? Die Verwendung von dG für eine große Datei (1G +) nimmt viel Zeit in Anspruch (z. B. 5 Minuten).dgg
wird von der aktuellen Zeile bis zum Anfang der Datei gelöscht.Gehen Sie zur ersten Zeile, aus der Sie löschen möchten, und drücken Sie die Tasten dG
quelle
:.,$d
Dadurch wird der gesamte Inhalt von der aktuellen Zeile bis zum Ende der Datei gelöscht. Dies ist sehr nützlich, wenn Sie sich mit der Erzeugung oder dem Strippen von Testvektoren befassen.
quelle
:<line number>,$d
zum Beispiel::3,$d
löscht von Zeile 3 bis zum Ende der DateiFügen Sie einfach eine andere Möglichkeit hinzu, geben Sie im normalen Modus
ctrl+v
dann einG
, wählen Sie den Rest aus, dannD
, ich glaube nicht, dass es effektiv ist, sollten Sie @Ed Guiness, head -n 20> Dateiname unter Linux mögen.quelle