Kurzer Überblick nützlicher Kommandos für den Editor vi.

The Feeble Emacs Uservi ist ein seitenorientierter Texteditor, den es auf praktisch jedem *nix-basierten System gibt. Seine Bedienung war schon immer kryptisch und ist aus heutiger Sicht, mit den Annehmlichkeiten grafischer Benutzeroberflächen und Maussteuerung, geradezu als barbarisch zu betrachten. Ungeachtet dessen gibt es Situationen, in denen es äußert hilfreich ist den vi – zumindest rudimentär – bedienen zu können.

Dabei glänzt der Editor, trotz seines Alters, mit einer erstaunlichen Funktionsfülle, die sich aber nur entfalten kann, wenn man die zahllosen Kommandos und Tastenkombinationen kennt. Zwar gibt es zum vi endlos viele Einführungen, Tutorials, Referenzen und Kommandoübersichten im Netz, aber gerade die letztgenannten Zusammenfassungen versuchen häufiger durch Menge, denn durch eine Zusammenstellung der wirklich nützlichen Kommandos zu glänzen. Vor diesem Hintergrund gibt es hier die geschätzt 5.009.536te Kommandotabelle mit den wirklich 😉 nützlichen Befehlen für den vi.

KommandoErklärung
iWechsel in Editiermodus
ESCWechsel in Navigationsmodus
ggDateibeginn
GDateiende; nnG springt zu Zeile nn
Ctrl+feine Bildschirmseite vor
Ctrl+beine Bildschirmseite zurück
wein Wort vorwärts
bein Wort rückwärts
0Zeilenanfang
$Zeilenende
dwlöscht ab Cursor bis Wortende
d0löscht bis Zeilenanfang
Dlöscht bis Zeilenende
ddaktuelle Zeile löschen; NNdd löscht NN Zeilen
dgglöscht aktuelle Zeile bis Dateianfang
dGlöscht aktuelle Zeile bis Dateiende
mxmarkiert aktuelle Zeile mit Buchstabe x
d’xlöscht aktuelle Zeile bis Markierung x
yykopiert aktuelle Zeile in Puffer; NNyy kopiert NN Zeilen
y’xkopiert aktuelle Zeile bis Markierung x in Zwischenablage x
xspringt in die Zeile mit Marke x
`xspringt an die Stelle mit Marke x
pkopiert Pufferinhalt ans Ende der aktuellen Zeile
azZwischenablage az für nächste Aktion auswählen
uUndo; NNu macht die letzten NN Aktionen rückgängig
$Zeilenende
/regexsucht nach regulärem Ausdruck regex; weitere Treffer mit n
?regexwie /, sucht aber in Richtung Dateianfang
:s/foo/bar/aktuelle Zeile: das erste Vorkommen von foo durch bar ersetzen
:s/foo/bar/gaktuelle Zeile: alle Vorkommen von foo durch bar ersetzen
:%s/foo/bar/gesamte Datei: das erste Vorkommen von foo durch bar in jeder Zeile ersetzen
:%s/foo/bar/ggesamte Datei: alle Vorkommen von foo durch bar ersetzen
:wDatei speichern
:w filenameDatei unter filename speichern
:e filenameDatei filename laden
:qvi beenden; :q! beendet ohne Rückfrage, falls Datei geändert wurde
ZZÄnderungen schreiben und vi beenden; Abk. für :wq!

Leave a Reply

Your email address will not be published. Required fields are marked *