28.09
2009

VIM oder Wer suchet, der findet

Vorwärts suchen
Um in einem geöffneten Text zu suchen, gibt man im Standardmodus ein / ein, d. h. man drückt „Shift“ + „7“. Anschließend fügt man den Suchbegriff ein: Also z. B. „Wort“. Abschließend bestätigt man den Suchauftrag über die Eingabetaste „Enter“.
Der Cursor bewegt sich nun an die erste Stelle im Text, an der der Begriff „Wort“ gefunden wird. Die Taste „N“ wiederholt die Suche, der Cursor springt zur nächsten Fundstelle.
Rückwärts suchen
Mit „Shift“ + „N“ wird rückwärts im Text gesucht, also ab der aktuellen Cursorposition in Richtung Textanfang.
Man kann mit der Eingabe von ?, also „Shift“ + „ß“, und einem nachfolgenden „Wort“ dem Editor auch mitteilen, dass er von vornherein rückwärts suchen soll.
Suchmuster
In den Suchbegriff eingebettet kann man nach verschiedenen Kriterien suchen und zwar (nach Betreten des Suchmodus mit „Shift“ + „7“):
W.
sucht nach W und einem beliebigen Zeichen
^W
sucht nach W am Zeilenanfang
W$
sucht nach W am Zeilenende
W[a-e]
sucht W und einem Zeichen von a bis e
Groß- und Kleinschreibung umgehen
Vim unterscheidet bei der Suche immer zwischen Groß- und Kleinschreibung. Wenn man dies nicht möchte, kann man das mit einem angehängten \c umgehen. Das gilt anschließend nur für diese eine Suche. Damit es für alle weiteren Suchen gilt, führt man das Kommando :set ignorecase aus. Die Eingabe screen \c sucht also nach „screen“ und nach „Screen“.
Inkrementelle Suche
Das Kommando :set incsearch aktiviert die inkrementelle Suche. Dies ist sinnvoll, wenn man nach dem Beginn eines Wortes sucht. Hier wird der Cursor schon während der Eingabe des Suchbegriffes an den ersten Ãœbereinstimmungsort bewegt. Die „Enter“-Taste beendet diesen Spuk, mit der „Escape“-Taste wird die Suche abgebrochen. Nach der Suche bleiben die Ãœbereinstimmungen im Text markiert, bis man entweder eine neue Suche beginnt oder das Kommando :nohlsearch eingibt.
Anmerkungen zum :set-Kommando
Die Optionen, die mit :set gesetzt werden, gelten nur für die aktuelle Vim-Sitzung. Sollen hingegen die Einstellungen permanent gesetzt bzw. nicht gesetzt sein, so muss dies in /etc/vimrc (gültig für das ganze System) oder ~/.vimrc (gültig nur für den aktuellen Benutzer) erfolgen.
Suchen und Ersetzen
Hier nun einige Funktionen, wie man Text suchen und ersetzen kann. Das Kommando, um zum Beispiel „abc“ durch „efg“ zu ersetzen, lautet :%s/abc/efg.
Um das Suchen und Ersetzen noch besser zu kontrollieren, bestehen darüber hinaus folgende Möglichkeiten, die durch das Anfügen an das obige Kommando erreicht werden:
/g
ohne Rückfrage werden alle Vorkommen von „abc“ durch „efg“ ersetzt
/gc
mit Rückfrage werden alle Vorkommen von „abc“ durch „efg“ ersetzt
/gi
ersetzt alle Vorkommen von „abc“ durch „efg“ ohne Groß- und Kleinschreibung zu berücksichtigen
Hinweis: Der ganze Ausdruck muss aneinander geschrieben werden: z. B. :%s/abc/efg/gi.
Abspeichern und Verlassen
Ganz am Schluss der Bearbeitung sollte man nicht vergessen, die Datei abzuspeichern. Dazu einfach das Kommando :w absetzen. Dann verlässt man die Datei mit einem :q. Ein :wq erledigt dies in einem Schritt.
Fazit
Wer erst einmal den Vim-Editor in seinen Grundfunktionen beherrscht, der kann zum Beispiel viel schneller Änderungen an Konfigurationsdateien vornehmen, als so manch anderer Benutzer, der mit einem grafischen Editor unterwegs ist.
Voraussetzung dafür ist aber das ständige und konsequente Benutzen des Editors. Am Besten macht man sich nebenher auf einem Stück Papier eine Ãœbersicht der gängigsten Befehle und legt das neben die Tastatur. So gewöhnt man sich schneller an den Umgang und wird immer vertrauter mit diesem Urgestein der Editoren.

🙂

Drucken PDF