Die Methode zum Löschen gerader Zeilen ist wie folgt:
:g/^/+1 d
Der Befehl gbobal wird oben verwendet. Das Befehlsformat gbobal ist wie folgt:
:[range]global/{pattern}/{command}
global Der Befehl ist eigentlich in zwei Schritte unterteilt: Scannen Sie zuerst alle Zeilen innerhalb des durch [Bereich] angegebenen Bereichs und markieren Sie die Zeilen, die mit {Muster} übereinstimmen. Führen Sie dann den Befehl {Befehl} nacheinander auf den markierten Zeilen aus Wenn in der Befehlsoperation die vorherige übereinstimmende Zeile gelöscht, verschoben oder zusammengeführt wird, verschwindet ihre Markierung automatisch, ohne dass der Befehl {command} in der Zeile ausgeführt werden muss. {Befehl} kann ein Ex-Befehl oder mehrere durch | getrennte Ex-Befehle sein, sodass wir eine Vielzahl unterschiedlicher Operationen an der markierten Zeile oder der von der markierten Zeile aus adressierten Zeile ausführen können.
Dieser Befehl gleicht zunächst alle Zeilen ab und löscht dann die geraden Zeilen (verwenden Sie +1, um die nächste Zeile der aktuellen Zeile zu löschen). Warum ist es interlaced? Denn wenn der Befehl +1 d in der ersten Zeile ausgeführt wird, wird die zweite Zeile gelöscht. Obwohl die zweite Zeile ebenfalls markiert ist, existiert sie nicht mehr, sodass der Befehl zum Löschen der dritten Zeile nicht ausgeführt wird.
Der Befehl zum Löschen einiger Zeilen lautet wie folgt:
:g/^/d|m
Die Funktion von m besteht darin, die Markierung von Zeilen mit geraden Nummern zu entfernen, um zu verhindern, dass Zeilen mit geraden Nummern erstellt werden gelöscht.
Darüber hinaus können Sie auch den normalen Befehl verwenden, um gerade nummerierte Zeilen wie folgt zu löschen (der erste Befehl gibt die Anzahl der Zeilen an):
:%norm jkdd :%norm jdd
Das obige ist der detaillierte Inhalt vonSo löschen Sie mit Vim gerade oder ungerade Zeilen unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!