Einführung in den Editor VI

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

Einführung

vi ist ein unter Unix/Linux sehr verbreiteter Texteditor. Wer also auf vielen Systemen unterwegs ist, sollte wenigstens die wichtisten Kommandos kennen.

Der Editor läuft (normalerweise) im Terminal, es gibt aber auch GUI-Versionen (z.B. vim-gtk).

In siduction wird vim verwendet, was "vi Improved" bedeutet.

Tutorial

Ich werde zuerst mit einem einfachen Beispiel beginnen. Es enthält alle Befehle, die Du wissen solltest, um in der Lage zu sein, eine Datei (zum Beispiel eine config-Datei) zu bearbeiten und zu speichern. Danach werde ich gleich einige der Vim-Modi ein bisschen näher beschreiben, kombiniert mit einigen nützlichen Befehlen.

Als erstes musst Du die Datei, die Du bearbeiten willst, öffnen. Das machst Du mit folgendem Befehl:

vim /path/to/file 
vim /etc/fstab #als Beispiel

Wenn der Editor geöffnet ist, drückst Du auf das i und so gehst in den insert mode'. Jetzt kannst Du die Datei bearbeiten. Wenn Du damit fertig bist, drückst Du Esc und gehst so zurück in den normal mode. Dann schreibst Du :wq und drückst auf Enter.

Vim hat viele verschiedene Modi, aber jetzt interessieren uns nur diese drei: command mode, normal mode und insert mode.

Das Programm startet stets im normal mode. Hier kannst Du Dich im Text umsehen, Du kannst ihn bis zu einem gewissen Punkt bearbeiten (Buchstaben löschen, undo, redo etc) und Du kannst auch zur anderen Modi gehen. Falls Du den Modus gewechselt hast, kannst Du mit der Esc-Taste zurück zum normal mode gehen .

In den command mode gelangst Du, wenn du im normal mode : drückst (Du siehst dann das : Symbol ganz unten im Bildschirm). Hier kannst Du verschiedene Befehle eingeben und die werden immer nach Betätigen der Enter-Taste beendet.

Der insert mode wird zur Eingabe von Text benötigt. In diesem Modus kannst Du Dich auch im Text umsehen und Buchstaben löschen, aber dass macht man meistens im normal mode, weil es dort schneller geht.

Bevor Du beginnst Befehle einzugeben, musst Du ermitteln, ob die Kompatibilität mit vi ausgeschaltet ist. Das kannst Du machen, wenn Du folgenden Befehl in einen Terminal eingibst

touch ~/.vimrc


Du kannst auch den :set nocompatibility Befehl im Editor eingeben, um zum gleichen Resultat zu gelangen. Wir machen das, weil viele vim- Befehle im vi Kompatibilität Modus nicht funktionieren.

Befehle, um sich im Text zu bewegen (normal mode):

h (links)
j (unten)
k (oben)
l (rechts)

Wenn Du z.B. 3 Zeilen nach oben gehen willst, kannst Du 3k eingeben. Das gleiche kannst Du auch für die andere Richtungen machen. Du kannst aber auch die Pfeil-Tasten dafür benutzen.

Löschen, Undo, Redo (normal mode):

Um einen Buchstaben zu löschen (der der unter dem Cursor ist), drückst Du die x Taste. Wenn Du z.B. drei Buchstaben löschen willst, gibst Du 3x ein (das löscht den Buchstaben unter dem Cursor und zwei Buchstaben, die rechts von dem liegen). Du kannst eine Zeile löschen, wenn Du dd eingibst (der Cursor muss irgendwo auf dieser Zeile legen). Undo kannst Du mit der u-Taste machen und redo mit Ctrl+r. .

Es gibt drei verschiedene Möglichkeiten, in den insert mode zu gelangen:

i Wenn Du i drückst, gelangst Du in den insert mode und Du beginnst dort zu schreiben, wo der Cursor steht.
a Wenn Du am Ende der Zeile bist und a (append) drückst, dann fängst Du am Ende der Zeile an zu schreiben.
o Wenn Du o drückst, fängst Du eine Zeile tiefer an zu schreiben.

Command mode Befehle:

:w Datei speichern (write).
:q Programm verlassen.
:wq Speichern und dann verlassen.
:q! Verlassen ohne zu speichern.
:help Dieser Befehl öffnet die Hilfsdatei vom vim. In dieser Datei, ein Wort zwischen zwei Pipes. Bsp. |:help| ist ein Hyperlink. Dem Link kannst Du folgen, wenn der Cursor auf dem Wort ist und Du Ctrl+j drückst. Zurück geht man mit Ctrl+T .

Suchen

Wenn Du im normal mode die Taste / drückst, gehst Du in den Suchmodus. Es erscheint unten eine Zeile mit dem / am Anfang. Dort kannst Du einen regülären Ausdruck eingeben. Mit Enter beginnt die Suche. Die nächste Fundstelle erreichst Du mit n, die vorige mit N.

Eine Rückwärtssuche startest Du mit ? statt mit /.

Um mehr über vim zu lernen kann das Programm vimtutor sehr hilfreich sein.