vim-editor_logo-80.png?nocache=1312979110362Der Linux-Editor vi ist ein mächtiges Werkzeug um Text zu editieren, es ist allerdings etwas Übung nötig, um ihn effizient zu nutzen. Dieser Tipp geht auf die"Basics" ein.

Grundlegendes

Der Editor vi benutzt zwei verschiedene Modi, den "Command" und den "Insert"-Modus. In dem "Command"-Modus können Sie Tastenkombinationen nutzen um verschiedene Aktionen durchzuführen, während der "Insert"-Modus zum gewohnten editieren von Texten ist. In dem "Command"-Modus können Sie auch Befehle eingeben. Geben Sie hierfür einen Doppelpunkt(:) ein, gefolgt von dem gewünschten Befehl. In diesem Tutorial werden diese Befehle auch mit einem Doppelpunkt eingeleitet, damit Sie sie einfach von Tastenkombinationen unterscheiden können. Viele Tastenkombinationen lassen sich durch das Einfügen einer Zahl mehrmals durchführen: "5w" bewegt den Cursor also fünf Wörter weiter. Dieses Tutorial beschäftigt sich nur mit einem Bruchteil der vi-Befehle, also sollten Sie sich, wenn Sie vi wirklich effizient benutzen wollen, weiter informieren.

Eine Kurzübersicht über alle in diesem Tipp erwähnten Befehle und Tastenkombinationen findet sich nach jedem Absatz, falls Sie nach diesem Tutorial nochmal die Bedeutung nachschlagen wollen ;-).

01-vi-aussehen-470.png?nocache=1312980636022

Die wichtigsten Befehle

Bewegung

Mit den Tasten "h","j","k" und "l" können Sie den Cursor herumbewegen. Alternativ können Sie auch die Pfeiltasten benutzen, aber nach kurzer Zeit werden Sie feststellen, dass vi für die erste Option optimiert ist.

Wörter

vi unterstützt viele Methoden um sich durch Wörter zu bewegen, nach etwas Übung ist das enorm hilfreich. Mit "w" können Sie den Cursor ein Wort weiter bewegen, mit "b" ein Wort zurück. Sie werden sicher bemerkt haben, dass "w" immer an den Anfang eines Wortes springt. Wollen Sie zum Ende, so können Sie "e" benutzen.
w – Bewegt den Cursor ein Wort weiter
b – Bewegt den Cursor ein Wort zurück
e – Bewegt den Cursor an das Ende eines Wortes

Zeilen

"G" bewegt den Cursor in Zeile . Zum Beispiel würde "1G" zur ersten Zeile zu springen. Benutzen Sie nur "G", um sich zur letzten Zeile der Datei zu bewegen. ":" funktioniert ebenfalls.
G – springt zu Zeile
G – Springt zu der letzten Zeile der Datei

Einfügen

Um in den "Insert"-Modus zu wechseln, drücken Sie "i". Mit der "Escape"-Taste wechseln Sie wieder in den "Command"-Modus. Mit "I" springen Sie zu dem Anfang der Zeile und können dort Text einfügen. Mit "A" editieren Sie das Ende einer Zeile. Mit "o" Schreiben Sie in eine neue Zeile, "O" fügt eine Zeile über der Derzeitigen ein.
i – Fügt Text an Curserposition ein
I – Fügt a Anfang der Zeile ein
A – Fügt am Ende der Zeile ein
o – Öffnet eine neue Zeile
O – Fügt Zeile über der Derzeitigen ein

Kopieren, Ausschneiden und Löschen

"y" kopiert in die Zwischenablage (eigentlich ein Buffer, das Konzept ist etwas anders. Allerdings ist die Funktionalität hier gleich). Benutzen Sie diesen Befehl gefolgt von einer Bewegung, zum Beispiel so: "y5w". "yy" kopiert die ausgewählte Zeile. Mit "d" löschen Sie Text. Auch hier müssen Sie eine Bewegung anhängen. Der gelöschte Text wird in den Puffer kopiert, Sie können ihn also woanders einfügen. Text können Sie mit "p" nach dem Cursor oder mit "P" vor dem Cursor einfügen.
y – Kopiert Text
d – Löscht Text
p – Fügt Text ein

Speichern und verlassen

Mit ":q!" können Sie den Editor schließen ohne Änderungen zu speichern. Der Befehl ":w" schreibt alle Änderungen in die derzeitige Datei und ":qw" schreibt alle Änderungen in die Datei und verlässt dann vi.
:q – Verlässt vi
:w – Schreibt Änderungen in aktuelle Datei
:qw – Schreibt Änderungen in aktuelle Datei und verlässt vi

Suchen

Mit // können Sie nach suchen. Drücken sie nun "n" um zu dr nächsten Instanz zu springen, oder "N" um rückwärts weiter zu suchen. Sie können auch reguläre Ausdrücke suchen.
// – Sucht
n – Findet nächste Instanz
N – Findet vorherige Instanz

Dies war eine kurze Übersicht, über die Befehle, die Sie wahrscheinlich am Meisten benutzen werden. Für mehr Informationen sollten Sie das Programm "vimtutor" benutzen oder die Manual-Page lesen (unter Unix-Systemen ist das mit "man vi" möglich). Es sind auch eine Menge weiterführender Tutorials im Internet verfügbar.