vi

Damals™, vor dem Krieg, gab es nur ed (Zeilenweise), die Tastaturen hatten keine extra Tasten (<100)

vi ist Bildschirmbasiert, und benötigt keine Sondertasten! Darüber hinaus ist vi bei (fast) jedem Linux mit dabei.

vi [optionen] file1 file2
programm | vi -

Modi

  • Kommandomodus: Editor steuern, im Text navigieren
  • Eingabemodus: Schreiben (Ein- und Angeben!!1!)
  • Kommandozeilenmodus: längere Kommandos eingeben, Kommandos auf (markierten) Text anwenden
Navigation
hEin Zeichen nach links
lEin Zeichen nach rechts
kEin Zeichen nach oben
jEin Zeichen nach unten
0Zeilenanfang
$Zeilenende
wWort vorwärts
bWort zurück
GZur letzten Zeile
<n>GZur Zeile n
f<c>Zum nächsten Zeichen c
Ctrl+fBildschirmseite vor
Ctrl+bBildschirmseite zurück

Kommandos
aText hinter akt. Zeichen einfügen
AText am Zeilenende einfügen
iText vor akt. Zeichen einfügen
IText am Zeilenanfang einfügen
ofügt eine Zeile unter der aktuellen Zeile ein
Ofügt eine Zeile über der aktuellen Zeile ein
xlöscht Zeichen hinter dem Cursor
Xlöscht Zeichen vor dem Cursor
r<c>ersetzt aktuelles Zeichen durch <c>
dwlöscht Wort
d$löscht bis Zeilenende
d0löscht bis Zeilenanfang
df<c>löscht bis <c>
ddlöscht ganze Zeile
dGlöscht bis Ende des Texts
d1Glöscht bis Anfang des Texts
cwWort ersetzen
c$Ab Cursor bis Zeilenende ersetzen
c0Ab Cursor bis Zeilenanfang ersetzen
cf <c>Bis <c> ersetzen
c/abcBis Muster abc ersetzen

Kommandozeile
:w [name]speichert Puffer in Datei
:w! [name]speichert trotz Schreibschutz
:e [name]liest Datei in Puffer
:r [name]fügt Inhalt von Datei hinter akt. Zeile ein
:! [cmd]führt Shellkommando aus
:r! [cmd]fügt Ausgabe des Kommandos hinter aktueller Zeile ein
:qbeendet vi
:q!beendet vi ohne Rückfrage
:wqspeichern und beenden
:xspeichern und beenden