Zunächst müssen Sie feststellen, ob Ihr Terminal für diese Tastenkombinationen unterschiedliche Escape-Sequenzen sendet. Anwendungen, die in Terminals ausgeführt werden, erhalten Zeichen als Eingabe, keine Schlüssel. Funktionstasten werden als Steuerzeichen oder als Escape-Sequenzen codiert, die mit dem Escape-Zeichen beginnen (das Sie wie \ein einer Tastenkombination schreiben können ).
Um die von einer Tastenkombination in einem Terminal gesendete Escape-Sequenz anzuzeigen, drücken Sie an einer Shell-Eingabeaufforderung Ctrl+ Vund dann die Tastenkombination. Wenn ich zum Beispiel an einer Shell-Eingabeaufforderung Ctrl+ VCtrl+ drücke, wird LeftFolgendes angezeigt ^[O5D. ^[ist der Escape-Charakter, also müsste ich \eO5DMutt binden , damit er auf Ctrl+ reagiert Left:
bind editor \eO5D backward-word
Einige Terminals senden dieselbe Escape-Sequenz für denselben Schlüssel mit unterschiedlichen Modifikatoren. In diesem Fall müssen Sie herausfinden, wie Sie das Verhalten des Terminals ändern oder zu einem anderen Terminal wechseln können.
Hört sich gut an, funktioniert aber nicht. \eist der Escape-Schlüssel, nicht das Escape-Zeichen…
Profpatsch
@Profpatsch Seltsam, diese Bindung funktioniert bei mir. Ich benutze Mutt 1.5 seit ungefähr ewig, vielleicht funktioniert 1.4 anders? Funktioniert es, wenn Sie \ein einem Makro verwenden : macro editor \e[O5D \eb?
Gilles 'SO - hör auf böse zu sein'
1
Ich bin auf Terminator, wenn ich Ctrl+Downdrücke ^[[1;5B, funktioniert es nicht mit bind index \e[1;5B commandund auch nicht mit \e1;5B . Oh, ich arbeite mit Mutt 1.5.21 (Arch .;)
Profpatsch
1
@Profpatsch Ok, ich kann das reproduzieren. Es scheint eine Beschränkung auf 5 Zeichen zu geben: Funktioniert bind editor \e[1\;5 backward-wordfür mich (und fügt Dbei der Eingabe ein zusätzliches ein ESC [ 1 ; 5 D), führt aber bind editor \e[1\;5D backward-worddazu ESC [ 1 ; 5 D, dass nichts unternommen wird. Ich sehe eine Beschränkung auf 8 Zeichen im Quellcode ( MAX_SEQ), aber nichts, was bei 5 Zeichen ausgelöst würde.
Gilles 'SO - hör auf böse zu sein'
@Profpatsch Eine Problemumgehung besteht darin, dass Ihr Terminal kürzere Sequenzen sendet. Ich weiß nicht, ob Terminator dies unterstützt.
Durch Drücken der gewünschten Taste (wie Strg + Pfeil) können Sie lernen, wie Sie auf eine beliebige Taste verweisen. In meinem Fall bekomme ich <C-Up>für Strg + Up.
Falls es Ihnen gelungen ist :exec what-key, diese Informationen abzurufen, Sie dann aber nicht herausfinden konnten, welche Taste gedrückt werden muss, um aus dem what-keyBefehl auszusteigen, lautet die zu beendende Tastenfolge Ctrl-g.
KDN
@KDN: Danke. Es wurde ein bisschen peinlich. ;)
Teekin
@KDN Ctrl-gwird verwendet, um Befehle in Emacs und vielen Unix-Shells abzubrechen.
\e
ist der Escape-Schlüssel, nicht das Escape-Zeichen…\e
in einem Makro verwenden :macro editor \e[O5D \eb
?Ctrl+Down
drücke^[[1;5B
, funktioniert es nicht mitbind index \e[1;5B command
und auch nicht mit\e1;5B
. Oh, ich arbeite mit Mutt 1.5.21 (Arch .;)bind editor \e[1\;5 backward-word
für mich (und fügtD
bei der Eingabe ein zusätzliches einESC [ 1 ; 5 D
), führt aberbind editor \e[1\;5D backward-word
dazuESC [ 1 ; 5 D
, dass nichts unternommen wird. Ich sehe eine Beschränkung auf 8 Zeichen im Quellcode (MAX_SEQ
), aber nichts, was bei 5 Zeichen ausgelöst würde.Ich habe hier die richtige Antwort gefunden :
Verwenden Sie in mutt den Befehl
Durch Drücken der gewünschten Taste (wie Strg + Pfeil) können Sie lernen, wie Sie auf eine beliebige Taste verweisen. In meinem Fall bekomme ich
<C-Up>
für Strg + Up.quelle
:exec what-key
, diese Informationen abzurufen, Sie dann aber nicht herausfinden konnten, welche Taste gedrückt werden muss, um aus demwhat-key
Befehl auszusteigen, lautet die zu beendende TastenfolgeCtrl-g
.Ctrl-g
wird verwendet, um Befehle in Emacs und vielen Unix-Shells abzubrechen.