2010-06-27 6 views
9

Ich entdecke einfach die Magie der Verwendung von vi Stil in bash. Sofort versuche ich C-c zu verwenden, um aus dem Einfügemodus (in den sogenannten Bewegungsmodus) zu gelangen, da ich gewohnt bin, C-c in den Befehlsmodus in vim zu überführen.Bash vi Modus - bind "C-c", um aus dem Einfügemodus zu entkommen

Ich suchte herum und fand die Befehlstaste in bash erneut zu binden:

"bind -m vi-insert C-c:vi-movement-mode" 

Dann habe ich "bind -P" die Bindung Status zu überprüfen und es zeigte sich:

"..." 
"vi-movement-mode can be found on "\C-c", "\e"." 

jedoch , als ich versuchte, aus dem Einfügemodus zu entkommen, löschte es stattdessen die gesamte Zeile (das Standardverhalten), anstatt in den Bewegungsmodus zu flüchten ... Irgendein Gedanke, wie kann ich Cc verwenden, um aus dem Einfügemodus zu entkommen?

Vielen Dank im Voraus.

+0

+1, um mir zu zeigen, dass bash vi mode existiert –

Antwort

2

Sie können die Unterbrechungstaste erneut binden:

stty intr ^X 

Jetzt etwas zu unterbrechen, die Sie ist die Ausführung werden Ctrl drücken müssen - x. Ich weiß nicht, ob eine Änderung andere Nebenwirkungen haben könnte.

Der Grund, dass vim das tun kann, ist, dass es den Ctrl-c-Interrupt auffängt.

2

Sie können auch den alten Trick verwenden die Caps Lock ESC zur Karte:

xmodmap -e 'clear Lock' 
xmodmap -e 'keycode 0x42 = Escape' 

die im Grunde ähnlich wie verwendet Tastaturen einmal zu arbeiten.

+0

Ja, aber das scheint nur in Xwindow zu funktionieren, ja? – Patrick

+0

Ich wette, du hast Recht. – crenate