bloginista
Massimiliano Siddi
Home
  • Blog

VIM - Text suchen und ersetzen

26. Juni 2011 20:26 von madmax

Suche im Command-Modus

In VIM suchen ist eigentlich recht einfach. Zuerst musst du in den Command-Modus kommen, denn im Eingabemodus funktioniert das nicht. Wenn du dich im Eingabemodus befindest, genügt ein Druck auf Escape.

Anschließend drückst du auf den Doppelpunkt ":". Der Cursor springt in die Befehlszeile von VIM. Jetzt kannst du einen / gefolgt von einem regulären Ausdruck eingeben.

Anschließend drückst Du die Eingabetaste und voila, wird das erste gefundene Zeichen angesprungen.

Mit Druck auf n kannst Du zum nächsten gefundenen Teilstring im Text springen.

Text in VIM ersetzen

Was wirklich praktisch ist: Die Ersetzen-Funktion in VIM. Sie funktioniert ähnlich wie die Suche, nur ist die Eingabe etwas anders aufgebaut. In der Commandozeile gibst du in der Regel folgendes Muster ein:

:[Range]s/<suchtext>/<ersatztext>/[mod] [count]

  • In Range erfasst man die Zeilen, in denen gesucht und ersetzt werden soll.
  • <suchtext> ist der reguläre Ausdruck bzw. der Text, der gesucht und ersetzt werden soll.
  • <ersatztext> ist der Text, der für den Suchtext in den Text eingefügt werden soll.
  • [mod] ist der optionale Modifizierer, beispielsweise g für global.
  • [count] ist optional die Anzahl der Zeilen, in die die Ersetzung gemacht werden soll.

Beispiel:

:1,19s/ö/ö/g 10

Der obige Befehl ersetzt den Buchstaben ö durch ö Angegeben wurde ein Range von 1 bis 19. Da aber ein Count von 10 angegeben worden sind, beschränkt sich das Suchen und Ersetzen auf die letzten zehn Zeilen.

Wenn keine Range-Angaben gemacht worden wären, aber ein Count von 10, würde die Suche über die folgenden zehn Zeilen ab der aktuellen Zeilenposition erfolgen.

Ohne Range- oder Count-Angaben wird nur in der aktuellen Zeile gesucht. Die aktuelle Zeile ist die Zeile, in der sich der Cursor zuletzt befand.

Posted in Unix, Linux, VIM

Keine Kommentare


(Kommentarbereich geschlossen)

← Ältere Einträge Neuere Einträge →