vim
Suchen und Ersetzen
Suche…
Ersetzen Sie den Befehl
Dieser Befehl:
:s/foo/bar/g
ersetzt jedes Vorkommen von foo
durch einen bar
in der aktuellen Zeile.
fool around with a foodie
wird
barl around with a bardie
Wenn Sie das letzte /g
weglassen, wird nur das erste Vorkommnis in der Zeile ersetzt. Zum Beispiel,
:s/foo/bar
Auf der vorherigen Zeile würde es werden
barl around with a foodie
Dieser Befehl:
:5,10s/foo/bar/g
führt die gleiche Substitution in den Zeilen 5 bis 10 aus.
Dieser Befehl
:5,$s/foo/bar/g
führt die gleiche Ersetzung von Zeile 5 bis zum Ende der Datei aus.
Dieser Befehl:
:%s/foo/bar/g
führt dieselbe Ersetzung für den gesamten Puffer durch.
Wenn Sie sich im visuellen Modus befinden und den Doppelpunkt drücken, erscheint das Symbol '<,'>
. Sie können das dann tun
:'<,'>s/foo/bar/g
und die Ersetzung innerhalb Ihrer visuellen Modusauswahl erfolgen.
Dieser Befehl:
:%s/foo/bar/gc
ist äquivalent zu dem obigen Befehl, fragt jedoch bei jedem Vorkommnis dank der Markierung /c
(für "Bestätigung") eine Bestätigung ab.
Siehe :help :s
und :help :s_flags
.
Siehe auch diesen Abschnitt zu Befehlszeilenbereichen .
Ersetzen Sie mit oder ohne reguläre Ausdrücke
Dieser Ersetzungsbefehl kann reguläre Ausdrücke verwenden und entspricht jeder Instanz von foo
gefolgt von einem (einem) Zeichen seit dem Zeitraum .
In regulären Ausdrücken entspricht jedes Zeichen einem der folgenden Zeichen. Daher werden alle Instanzen von foo
gefolgt von einem beliebigen Zeichen in der aktuellen Zeile gefunden.
:s/foo./bar/g
1 fooing fooes fool foobar foosup
wird werden
1 barng bars bar barar barup
Wenn Sie das Literal anpassen möchten .
Zeitraum können Sie es im Suchfeld mit einem Backslash \
entziehen.
:s/foo\./bar/g
1 fooing fooes foo.l foo.bar foosup
wird werden
1 fooing fooes barl barbar foosup
Oder deaktivieren Sie alle Musteranpassungen, indem Sie dem Befehl s
mit no
folgen.
:sno/foo./bar/g
1 fooing fooes foo.l foo.bar foosup
wird einen Fehler auslösen
E486: Pattern not found