1. Einfacher Ausdruck ersetzen
: [Bereich] s / von / bis / [Flags]
Bereich: Aktionsbereich, falls nicht angegeben, wird die aktuelle Zeile angewendet;
: 1,10s / von / bis /: Suchen und Ersetzen von Zeile 1 bis Zeile 10;
: 10s / from / to /: Suchen und Ersetzen in Zeile 10;
:% s / von / bis /: suche und ersetze alle Zeilen;
flags hat die folgenden 4 Optionen:
c steht für bestätigen, vor jedem Austausch fragen;
e steht für Fehler, es wird kein Fehler angezeigt;
g steht für global, ersetzt die gesamte Zeile. Wenn die Option g nicht hinzugefügt wird, wird jeweils nur die erste Zeichenfolge ersetzt, die mit jeder Zeile übereinstimmt
Ich stehe für ignorieren, Fall ignorieren;
Die oben genannten vier Optionen können in Kombination verwendet werden. CG bedeutet beispielsweise, die gesamte Zeile zu ersetzen und vor jedem Austausch zu fragen.
2. Reguläre Ausdrücke
2.1 Metazeichen
Metazeichen | Erklärung |
. | Passen Sie zu einem beliebigen Charakter |
[ABC] | Passen Sie ein beliebiges Zeichen in [] an, um den Zeichenbereich anzugeben |
[^ abc] | Entspricht allen Zeichen außer denen in [] |
\ d | Übereinstimmende Zahlen, entsprechend [0-9] |
\ D. | Entspricht jedem Zeichen außer den Ziffern, was [^ 0-9] entspricht. |
\ x | Hexadezimale Ziffern abgleichen |
\ X. | Entspricht einem beliebigen Zeichen außer hexadezimalen Ziffern |
\ICH | Match [az] |
\ L. | Match [^ az] |
\ u | Match [AZ] |
\ U. | Match [^ AZ] |
\ w | Übereinstimmende Wortbuchstaben |
\ W. | Ordnen Sie jedem Zeichen außer Wortbuchstaben zu |
\ t | Tabulatorzeichen abgleichen |
\ s | Leere Zeichen abgleichen |
\ S. | Passen Sie Nicht-Leerzeichen an |
\ * | Match * Zeichen |
\. | Match.character |
\ / | Match / Charakter |
\. | Match \ Zeichen |
\ [ | Match [Zeichen |
\] | Match] Zeichen |
* * | Stellt die Menge dar und entspricht 0 - einer beliebigen Anzahl von Zeichen vor * |
\ + | Stellt die Menge dar und entspricht 1 - einer beliebigen Anzahl von Zeichen vor \ + |
\? | Stellt die Menge dar und entspricht 0-1 Zeichen vor \? |
\ {n, m} | Stellt die Zahl dar, die mit nm-Zeichen vor \ {n, m} übereinstimmt. |
\ {n} | Stellt die Menge dar und entspricht n Zeichen vor \ {n} |
\ {n,} | Stellt die Zahl dar, die mit n beliebigen Zeichen vor \ {n,} übereinstimmt |
\ {, m} | Stellt die Menge dar und entspricht 0-m-Zeichen vor \ {, m} |
$ | Passen Sie das Zeilenende an |
^ | Passen Sie den Zeilenanfang an |
\ < | Passen Sie den Wortanfang an |
\> | Passen Sie das Ende eines Wortes an |
3. Beispiele
Entfernen Sie nachgestellte Leerzeichen:% s / \ s + $ // g
Löschen Sie zusätzliche Leerzeichen am Zeilenanfang:% s / ^ \ s * // oder% s / ^ * //
Löschen Sie Leerzeilen mit Leerzeichen:% s / ^ \ s * $ // oder g / ^ \ s * $ / d
Löschen Sie Leerzeilen, die mit einem Leerzeichen oder einer Tabulatortaste bis zum Ende beginnen:% s / ^ [| \ t] * $ // oder g / ^ [| \ t] * $ / d