Einführung
Viele Funktionen vom klassischen vi Editor lassen sich auch in anderen Programmen nutzen.
Den vi Mode Aktivieren
In der Shell (ksh, bash, zsh, …)
In der Shell (Korn Shell, Bash, Z Shell, …) kann man mit folgendem Befehl den vi Modus aktivieren:
$ set -o vi
Damit dies direkt beim Start aktiviert wird, fügt man folgende Zeile in der RC-Datei der Shell ein:
set -o vi
In der Korn Shell lautet die Datei ~/.kshrc, in der Bash ~/.bashrc und in der Z Shell ~/.zshrc.
In der Readline Bibliothek
Viele Programme, welche eine interaktive Benutzerschnittstelle anbieten, wie z.
B. python (Python-Interpreter), scapy, sage, etc. nutzen die GNU Readline
Bibliothek. Die GNU Readline Bibliothek kann mit der Datei ~/.inputrc bzw.
/etc/inputrc konfiguriert werden. Die Optionen dazu findet man in der Manpage
von Readline mit man 3 readline.
Um den vi Mode in allen Programmen zu aktivieren, legt man also die Datei ~/.inputrc mit folgendem Inhalt an:
########################################################################
#
# ~/.inputrc
# Konfigurationsdatei für die Readline Bibliothek
#
# 2011-11-16; Emanuel Duss; Erste Version
#
########################################################################
# VI-Mode in allen Tools, welche die Readline-Bibliothek benutzen
set editing-mode vi
# EOF
Soll diese Einstellung für jeden Benutzer auf dem Rechner gelten, fügt man die
Zeile in der Datei /etc/inputrc ein.
Die aktuellste Version davon gibt es auf GitHub in meinem Configs Repository: .inputrc.
Den vi Mode Nutzen
Für folgende Befehle wechselt man zuerst mit ESC den vi Mode:
kLetzter Befehl in die Konsole Laden (History scrollen mitjundk)hCursor nach Links bewegenlCursor nach Rechts bewegenwEin Wort nach vornebEin Wort nach hinten$Cursor ganz nach hinten0Cursor ganz nach vorneSText ab Cursor änderniZurück in den Einfügemodus/keywordSucht in der History nach dem BegriffkeywordnNächstes SuchergebnisIText am Anfang der Zeile einfügenAText am Schluss der Zeile einfügen
Dies ist nur ein Auszug aus häufig genutzten Befehlen.
Links und weitere Informationen
- GNU Readline Bibliothek: http://tiswww.case.edu/php/chet/readline/rltop.html
- Readline Manpage (man 3 readline): http://linux.die.net/man/3/readline