Konfiguration
Bash kann mit vi Befehlen gesteuert werden. dazu muss lediglich entweder im Benutzerverzeichnis in die Datei .bashrc oder systemweit in die /etc/bash.basrc eine Zeile eingetragen werden
# Aktivieren des VI Modus -> Energie !
set -o vi
Konfiguration akvtieren
In der nächsten Session (z.B. neuer Login) oder durch das Ausführen des Befehls source ~/.bashrc oder source /etc/bash.basrc wird diese neue Einstellung aktiv. Alternativ kann statt dem Befehl source auch der Befehl exec benutzt werden. Dieser ersetzt die aktuelle Shell mit einer komplett neuen Shell. Die “alte” Shell bleibt dann solange im Hintergrund, bis die neue Shell beendet wurde. Wie so eine Matrjoschka Puppe.
vi Modus Aktivieren
Der vi Modus wird aktiv, indem die ESC Taste gedrückt wird. Und “raus” geht es wieder, indem i für Insert (Einfügen) gedrückt wird. Oder passiert automatisch, je nachdem welcher Befehl benutzt wurde, der dann automatisch in den INSERT oder den APPEND Modus wechselt. Also zurück in die alte Bash.
Das war schon alles. Aber hier noch zusätzlich ein paar nützliche Tastenkombination bei aktiviertem vi Modus ESC als Bonus:
Navigation
0oder^^springe an den Anfang der Zeile$springe an das Ende der Zeilewspringe zum nächsten Wortbspringe ein Wort zurück (back)kgehe einen Eintrag zurück in der Bash History (analog die Pfeil runter Taste in der Bash)lgehe einen Eintrag vorwärts in der Bash History (analog die Pfeil hoch Taste in der Bash)
Suche
f ZEICHENsucht das nächste Vorkommen von ZEICHEN (ohne Eingabe des Leerzeichens!)F ZEICHENsucht das vorherige Vorkommen von ZEICHEN (ohne Eingabe des Leerzeichens!);wiederholt die vorherige Suche. Vorwärts oder eben auch Rückwärts.
Editieren
xlöscht das Zeichen unter dem CursorXlöscht das Zeichen links vom CursorIspringt an den Anfang der Zeile und wechselt zum INSERT Modus (und beendet den vi Modus)Aspringt an das Ende der Zeile und wechselt in den APPEND Modus (und beendet den vi Modus)cclöscht die komplette Zeile und wechselt in den INSERT ModusClöscht den Rest der Zeile nach rechts und wechselt in den INSERT Moduscwlöscht ab der aktuellen Cursorposition bis zum Wortende und wechselt in den INSERT Modusciwlöscht das Wort unter der aktuellen Cursorposition und wechselt in den INSERT Modusci3wlöscht ab dem aktuellen Wort (inklusive) drei Wörter ab der aktuellen Cursorposition und wechselt in den INSERT Moduseaspringt zum Ende des aktuellen Wortes und wechselt in den APPEND Modusrersetzt exakt nur das Zeichen über dem Cursor (bleibt im vi Modus)Rwechselt in den Überschreibe Modus~schaltet die Groß/Kleinschreibung des Zeichens über dem Cursor umxplöscht das aktuelle Zeichen, rückt alle nachfolgenden Zeichen eines nach links und fügt das gelöschte Zeichen nach dem einen nachgerückten Zeichen wieder ein. Beispiel mit dem Cursor auf demewird ausheirwirdhier
Löschen
ddoderDlöscht die komplette Zeiledwlöscht ab der aktuellen Cursorpostion bis zum Wortendebdwspringt an den Anfang des Wortes und löscht dann das ganze Wortbd4wspringt an den Anfang des Wortes und löscht dann 4 ganze Wörter (Leerzeichen zählen als Wörter)xlöscht das Zeichen unter dem CursorXlöscht das Zeichen links vom Cursorcclöscht die komplette Zeile und wechselt in den INSERT ModusClöscht den Rest der Zeile nach rechts und wechselt in den INSERT Moduscwlöscht ab der aktuellen Cursorposition bis zum Wortende und wechselt in den INSERT Modusciwlöscht das Wort unter der aktuellen Cursorposition und wechselt in den INSERT Modusci3wlöscht ab dem aktuellen Wort (inklusive) drei Wörter ab der aktuellen Cursorposition und wechselt in den INSERT Modus
Copy N Paste
ykopiert das aktuelle Wort unter dem Cursory3wkopiert ab der aktuellen Cursorposition 3 Wörter (Leerzeichen werden als Wörter gezählt)by3wspringt an den Wortanfang und kopiert ab der aktuellen Cursorposition 3 Wörter (Leerzeichen werden als Wörter gezählt)Ykopiert alles von der aktuellen Position bis zum Zeilenendepfügt das zuvor Kopierte ab der aktuellen Cursorposition einPfügt das zuvor Kopierte vor der aktuellen Cursorposition ein