Suche…
Syntax
-
:[<range>]g[lobal]/{<pattern>}/[<command>]
-
:[<range>]g[lobal]!/{<pattern>}/[<command>]
(invertiert) -
:[<range>]v[global]/{<pattern>}/[<command>]
(invertiert)
Bemerkungen
Der "globale" Befehl von Vim wird verwendet, um einen Ex-Befehl auf jede Zeile anzuwenden, in der ein Regex übereinstimmt.
Grundlegende Verwendung des Global Command
:g/Hello/d
Löscht jede Zeile, die den Text "Hallo" enthält. Wichtiger Hinweis : Dies ist nicht der normale Modusbefehl d
, sondern der ex-Befehl :d
.
Sie können den globalen Befehl verwenden, um Tastatureingaben im Normalmodus anstelle von Ex-Befehlen anzuwenden, indem Sie dem Befehl normal
oder norm
voranstellen. Zum Beispiel:
:g/Hello/norm dw
Löscht das erste Wort aus jeder Zeile, die den Text "Hallo" enthält.
Der globale Befehl unterstützt auch den visuellen Modus und die Bereiche .
Ziehe jede Zeile, die einem Muster entspricht
Der Befehl
:g/apples/y A
werden alle Zeilen zerren, die das Wort Äpfel in die a
Register, das mit eingefügt werden kann "ap
. Jeder Ausdruck regelmäßig verwendet werden kann.
Beachten Sie das Leerzeichen vor dem A
und die Schreibweise des Registers. Wenn ein Großbuchstabe als Ruckregister verwendet wird, werden Übereinstimmungen an dieses Register angehängt . Wenn ein Kleinbuchstabe verwendet wird, wird nur die letzte Übereinstimmung in diesem Register abgelegt.
Zeilen mit wichtigen Informationen verschieben / sammeln
ein einfacher, aber sehr nützlicher Befehl:
:g/ending/m$
verschiebt Zeilen mit dem ending
an das Ende des Puffers.
m
bedeutet sich bewegen
$
bedeutet Pufferende, während 0
Pufferanfang bedeutet.