open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

Der vi-Editor unter Linux – der Klassiker für die Kommandozeile

Autor
Der vi-Editor unter Linux – der Klassiker für die Kommandozeile

Wenn du dich intensiver mit Linux beschäftigst, wirst du ihm früher oder später begegnen: dem vi-Editor. Er gehört zu den ältesten und mächtigsten Texteditoren in der Unix-Welt – und ist auf nahezu jedem Linux-System standardmäßig installiert.

In diesem Beitrag lernst du, was der vi ist, wie er funktioniert, wie du dich darin bewegst und warum er trotz seiner altmodischen Erscheinung auch heute noch unverzichtbar ist.

Was ist der vi?

Der Name „vi“ steht für Visual Editor. Er wurde in den späten 1970er Jahren als Teil des Unix-Betriebssystems entwickelt – zu einer Zeit, als grafische Oberflächen noch Zukunftsmusik waren.

vi ist ein reiner Texteditor, also kein Word-Ersatz, sondern ein Werkzeug zum Bearbeiten von Konfigurationsdateien, Skripten und Quelltexten.

Seine Vorteile:

  • Minimalistisch und schnell
  • Auf jedem Linux/Unix-System vorinstalliert
  • Vollständig über Tastatur steuerbar
  • Ideal für Remote-Server (z. B. über SSH)
  • Effizient, sobald man die Befehle beherrscht

Die meisten modernen Systeme nutzen vim („Vi IMproved“) – eine erweiterte Version mit mehr Funktionen, Syntax-Highlighting und besserem Undo-System.

vi starten und beenden

vi öffnen:

vi datei.txt

Wenn die Datei nicht existiert, wird sie beim Speichern neu erstellt.

vi beenden:

Drücke zuerst ESC, um sicherzustellen, dass du nicht im Schreibmodus bist. Dann gib ein:

  • :q → Editor schließen (ohne zu speichern)
  • :q! → Schließen ohne zu speichern, erzwingt Beenden
  • :w → Änderungen speichern
  • :wq oder :x → Speichern und schließen

Tipp: Wenn du dir unsicher bist, ob du gerade tippen oder Befehle eingeben kannst – drücke einfach ESC. Dann bist du wieder im Befehlsmodus.

Die zwei (bzw. drei) Modi im vi

Der vi arbeitet mit verschiedenen Modi. Das ist anfangs ungewohnt, aber zentral für das Verständnis:

Modus Bedeutung Beschreibung
Befehlsmodus (Command Mode) Standardmodus Hier navigierst du, löschst, kopierst oder suchst
Einfügemodus (Insert Mode) Schreibmodus Hier kannst du Text eingeben
Ex-Modus (Colon Mode) Kommandozeilenmodus Für Befehle wie :w, :q, :set, etc.

Du startest immer im Befehlsmodus.

In den Schreibmodus wechseln

Um Text einzugeben, musst du vom Befehlsmodus in den Insert Mode wechseln.

Taste Funktion
i Einfügen vor dem Cursor
a Einfügen nach dem Cursor
I Einfügen am Zeilenanfang
A Einfügen am Zeilenende
o Neue Zeile unterhalb öffnen
O Neue Zeile oberhalb öffnen

Sobald du fertig bist, drücke ESC, um wieder in den Befehlsmodus zurückzukehren.

Navigation im vi

Du kannst dich im Text mit den Tasten h, j, k, l bewegen – das ist historisch bedingt, funktioniert aber überall gleich:

Taste Bewegung
h nach links
l nach rechts
j eine Zeile nach unten
k eine Zeile nach oben

Alternativ funktionieren auch die Pfeiltasten.

Weitere nützliche Bewegungen:

Befehl Bewegung
0 Anfang der Zeile
$ Ende der Zeile
w Nächstes Wort
b Anfang vorherigen Wortes
gg Anfang der Datei
G Ende der Datei
:n Springe zu Zeile n (z. B. :15)

Text löschen, kopieren und einfügen

Löschen

Befehl Bedeutung
x Ein einzelnes Zeichen löschen
dd Ganze Zeile löschen
d$ Lösche bis zum Zeilenende
d0 Lösche bis zum Zeilenanfang
5dd Lösche 5 Zeilen

Kopieren & Einfügen

Befehl Beschreibung
yy Zeile kopieren („yank“)
p Einfügen unterhalb/nach der aktuellen Zeile
P Einfügen oberhalb/vor der aktuellen Zeile

Rückgängig & Wiederholen

Befehl Beschreibung
u Letzte Änderung rückgängig machen
Ctrl + r Rückgängig gemachte Änderung wiederherstellen

Suchen und Ersetzen

Text suchen

/<suchbegriff>
  • Mit n springst du zum nächsten Treffer
  • Mit N zum vorherigen

Beispiel:

/error
  • Sucht alle Vorkommen von „error“

Text ersetzen

Im Befehlsmodus:

:%s/alt/neu/g

Erklärung:

  • % = gesamte Datei
  • s = substitute (ersetzen)
  • g = alle Vorkommen in jeder Zeile

Beispiel:

:%s/Linux/Unix/g

→ Ersetzt alle „Linux“ durch „Unix“ in der gesamten Datei.

Nur in Zeilen 10–20:

:10,20s/foo/bar/g

Nützliche Befehle für den Alltag

Befehl Beschreibung
:set number Zeilennummern anzeigen
:set nonumber Zeilennummern ausschalten
:set syntax=on Syntax-Highlighting aktivieren (in vim)
:set ignorecase Suche ohne Groß-/Kleinschreibung
:r datei.txt Inhalt einer anderen Datei einfügen
:w datei.txt Datei unter neuem Namen speichern

vi verlassen, wenn alles schiefgeht

Manchmal „steckt“ man im vi fest – besonders als Anfänger. Hier der Notfall-Exit:

  1. Drücke mehrmals ESC
  2. Gib ein:

    :q!
    
  3. Drücke Enter

Damit verlässt du den vi ohne zu speichern.

Tipps für Einsteiger

  • Keine Angst vor dem Modus-Konzept – nach kurzer Übung fühlt es sich logisch an.
  • Übe die Befehle in einer Testdatei, z. B.

    vi test.txt
    
  • Wenn du lieber eine modernere Version möchtest, installiere vim oder neovim:

    sudo apt install vim -y
    
  • Du kannst vi als Standardeditor festlegen:

    sudo update-alternatives --config editor
    

Fazit

Der vi-Editor ist ein fester Bestandteil der Linux-Geschichte – und bis heute ein unverzichtbares Werkzeug für Systemadministratoren, Entwickler und Power-User. Was anfangs kryptisch wirkt, entfaltet mit etwas Übung enorme Produktivität.

Ob du eine Konfigurationsdatei änderst, Skripte bearbeitest oder Logfiles durchsuchst – vi ist schnell, zuverlässig und überall verfügbar.

Nützliche Links