
Ich verwende diese Zeilen in meinem ~/.inputrc
:
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Wenn ich mit diesen Einstellungen cin die Eingabeaufforderung tippe und ein ausführe PageUp, zeigt Bash nur Befehle an, die mit caus dem Verlauf beginnen. PageDownmacht das Gegenteil. Ich finde das sehr produktiv.
Ohne diese Zeilen in meiner inputrc-Datei, wenn ich Ctrl+ mache Left, springt der Cursor normalerweise ein Wort nach links und Ctrl+ Leftmacht das Gegenteil. Aber mit den oben genannten Einstellungen wird, wenn ich Ctrl+ Leftund Ctrl+ mache, stattdessen und Rightgedruckt .;5D
;5C
Wie bringe ich also Ctrl+ Leftund Ctrl+ Rightdazu, das Richtige zu tun?
Antwort1
Die beiden readline
Befehle für diese Bewegungen sind forward-word
und backward-word
. Sie können darauf jeweils mit (den Standard-Emacs-Bindungen) zugreifen:
Altfund Altb.
Damit sie mit den Tasten Leftund funktionieren Right, müssen Sie Ihrer einige Zeilen hinzufügen ~/.inputrc
.
Bestätigen Sie zunächst die korrekten Escape-Sequenzen, indem Sie die Rohausgabe für diese Tastendrücke von Ihrem Terminal abrufen: Geben Sie Ctrlv CtrlLeftund ein Ctrlv CtrlRightund notieren Sie sich die Sequenz (etwa ^[Oc
und ^[Od
). Fügen Sie dann diese Zeilen an Ihre an .inputrc
:
"\eOc": forward-word
"\eOd": backward-word
Alle derReadline-Befehlekann in Ihrem zurückgebunden werden .inputrc
.
Antwort2
Beachten Sie, dass diese Sequenzen von Terminal zu Terminal unterschiedlich sein können. Aus Ihrem Text geht hervor, dass Sie Gnome-Terminal verwenden.
# on gnome-terminal
"\e[1;5D": backward-word
"\e[1;5C": forward-word