SelfLinux Anwendungs-Software Editoren Praxisorientiertes vim-Tutorial Abschnitt 2 | SelfLinux-0.13.0

| Praxisorientiertes vim-Tutorial | Autor Formatierung GFDL

#### 6 Bestimmte Stellen wiederfinden

Beim Editieren einer langen Datei, insbesondere eines Quellcodes, ist es sehr praktisch, wenn man Markierungen setzen kann, um später schnell diese Stellen wiederzufinden.

Um eine Markierung zu setzen, drücken Sie (im Kommandomodus) die Zeichenfolge mx, wobei x ein beliebiger Kleinbuchstabe ist. Um später zu dieser Markierung zu springen, genügt ein (wieder im Kommandomodus) eingegebenes 'x, wobei x wieder der gleiche Buchstabe ist. Sie können für Markierungen entweder Buchstaben (a-z und A-Z) oder ganze Wörter verwenden. Diese Markierungen können auch überall dort verwendet werden, wo Zeilenangaben auftreten.

#### 7 Kopieren und Einfügen

Sie haben in vi nicht nur die Möglichkeit, 26 Markierungen zu setzen, Sie können auch 36 Puffer (1 .. 0 und a .. z) zum Kopieren und Einfügen verwenden (was ein großer Vorteil von vi gegenüber anderen Editoren ist).

Drücken Sie v um den Anfang des Bereiches zu markieren den Sie kopieren wollen. Bewegen Sie den Cursor zum Ende. Dabei wird der markierte Bereich hervorgehoben. Um den markierten Bereich z.B. in den Puffer h zu kopieren genügt nun ein "hy (Das Anführungszeichen steht für "Puffer", das "y" steht für "yank", also kopieren). Einfügen können Sie den Puffer bei Bedarf mit "hp ("p" für "paste, einfügen).

Anstatt einen Puffer über einen Buchstaben anzusprechen, können Sie auch einfach einen Standardpuffer verwenden. Dazu lassen Sie jeweils das Anführungszeichen und den Puffernamen weg.

#### 8 Schnelles Navigieren durch den Text

Im Kommandomodus können Sie sich mit den Cursortasten durch den Text navigieren. Sie können dabei auch eine Zahl voranstellen. Wenn Sie z.B. 30 eingeben und danach die `NACH-LINKS` -Taste drücken, bewegt sich der Cursor um 30 Zeichen nach links.

Das Voranstellen von Zahlen als Wiederholungsfaktor funktioniert bei fast allen Befehlen.

Mit b können Sie ein Wort zurück und mit w eines nach vorne, jeweils zum Wortanfang. Dabei sind nicht nur Leerzeichen Worttrenner. Bei der Zeichensequenz "Test+wort#-()-weiter" beispielsweise muss man fünfmal das Kommando w anwenden, um vom Anfang des Wortes bis zum Ende zu gelangen. Die verwandten Befehle B und W sehen nur Leerzeichen als Worttrenner an. Die Befehle e und E springen jeweils bis zum Wortende vor. Dabei gilt dieselbe Unterscheidung der Worttrenner wie oben vorgestellt. Einen Satz zurück kommen Sie mit ( und einen vor entsprechend mit ). Auch hier geben vorangestellte Zahlen den Wiederholungsfaktor an: 5( bewegt den Cursor 5 Sätze zurück und mit 4w gelangen Sie 4 Wörter nach vorn.

#### 9 Löschen von Text

Im Eingabemodus ist es relativ umständlich, Text zu löschen. Wenn Sie eine komplette Zeile entfernen wollen, stehen Sie sogar vor einem sehr schwierigen Problem. Daran merkt man schon, dass der Eingabemodus wirklich nur zum Eingeben von Text gedacht ist und nicht zum Editieren.

Im Kommandomodus steht uns zum Löschen von Text das Kommando d zur Verfügung. Danach folgt ein Buchstabe, der kennzeichnet, auf was für eine Texteinheit wir uns beziehen (Wort, Satz, Zeile, ...). Der gelöschte Text wird zusätzlich in die Standard-Zwischenablage eingefügt.

Um ein Wort zu löschen, drücken Sie dw. Das Wort hinter dem Cursor löschen Sie entsprechend mit db. Auch hier ist es wieder möglich, eine Zahl voranzustellen. So löschen Sie mit 3dd 3 Zeilen und mit 5dw 5 Wörter.

Bis zum Anfang des aktuellen Satzes löschen Sie mit d(, bis zum Ende mit d).

Bis zum Anfang der aktuellen Zeile kann man mit d^ oder auch mit d0 löschen und bis zum Ende mit d$.

Bei einigen Kommandos kann man auch einen Bereich voranstellen, auf den sie sich beziehen sollen. So entfernen Sie mit :1,5d die ersten fünf Zeilen einer Datei. Statt Zeilennummern können Sie auch Markierungen verwenden: :'a,'bd.

#### 10 Suchen und Ersetzen allgemein

Suchen und Ersetzen können Sie in vi mit regulären Ausdrücken. Hier eine Einführung in reguläre Ausdrücke zu geben würde den Rahmen dieser Kurz-Einführung sprengen.

Wenn Sie nur nach einem Wort suchen, können Sie das mit /suchbegriff/ machen. Wenn Groß-/Kleinschreibung ignoriert werden soll, verwenden Sie /wort/i.

Um Text zu ersetzen, müssen Sie in den ex-Modus wechseln. Folgendes Kommando ersetzt alle Vorkommen von "Unix" mit "Linux": :1,$s/Unix/Linux/g (Bereich: 1,$, also vom Anfang bis zum Ende der Datei "s" für "substitute", "ersetzen". Das "g" am Ende steht für "global". Wird das g weggelassen, wird bei jeder Zeile bloss das erste Vorkommen von Unix ersetzt. Sehr nett ist es, dass man eben auch innerhalb eines bestimmten Bereiches die Ersetzung durchführen lassen kann, d.h. man markiert z.B. per ma und mb zwei Zeilen und verwendet dann :'a,'bs/foo/bar/g.

Hängt man am Ende des Suchtextes noch ein /c an, fragt vi vor dem Ersetzen nach. Dies funktioniert auch in der Kombination mit /g. Somit lautet das vorherige Kommando, ergänzt um das Nachfragen, :'a,'bs/foo/bar/gc.