Wenn Sie Informationen an der Eingabeaufforderung eingeben mutt
, können Sie die Eingabeaufforderung standardmäßig mit löschen Ctrlg, wie im Handbuch beschrieben :
^ G n / a Abbruch
Ich habe versucht, diese Funktion zu binden Escape. Leider abort
ist in den verfügbaren Funktionen weder im Handbuch noch in der Quelle aufgeführt .
Ich habe versucht, dies in meinem zu verwenden .muttrc
:
Bindungseditor <esc> abbrechen
aber es wirft einen Fehler:
Fehler in /home/jason/.mutt/muttrc, Zeile 143: Abbruch: Keine solche Funktion in der Karte
Ich habe versucht, eine andere Karte wie ( generic
) zu verwenden, und mit anderen fiktiven Funktionen wie vergeblich experimentiert clear
.
Wie würde ich binden Escape, um die Eingabeaufforderungszeile zu löschen?
mutt
key-mapping
Jasonwryan
quelle
quelle
^[
damit es möglicherweise kein Showstopper ist (ich verwende sowieso keine Bindungen, die darauf angewiesen sind).Esc
,Esc
Würde zwei ESC - Zeichen senden. Sie können auchEsc
einmal drücken und etwa eine Sekunde warten (das Standardzeitlimit wartet auf den Rest einer Escape-Sequenz).Antworten:
Mit Tastenkombinationen ist das nicht möglich. Ctrl-Gist in mutt auf einer niedrigeren Ebene als der Makro- oder Schlüsselbindungsverarbeitung fest codiert (siehe
mutt_getch()
im Quellcode von mutt im Kern aller Benutzereingaben in mutt, bei denen ein Fehler zurückgegeben wird^G
).würde auch nicht funktionieren.
Sie können Ihr Terminal so konfigurieren, dass es
^G
beim Drücken gesendet wirdEscapeMit xterm:
Wenn Sie verwenden
screen
, können Sie dies auch tunbevor Sie mutt aufrufen und anschließend wiederherstellen (leider scheint es nicht möglich zu sein, dass Sie pro Bildschirm Fensterbindungen im Bildschirm haben können). Es wird auch ein Problem sein, wenn Ihr Editor für E-Mail-Nachrichten vi ist.
quelle
Es scheint mir eine wirklich schlechte Idee zu sein, auch die Flucht zu binden ControlG. Ich bin hierher gekommen, um nach einer Mutt-Lösung zu suchen, aber da es anscheinend keine gibt, werde ich eine Antwort von dem geben, was ich für jeden tue, der zufällig darüber stolpert. Es ist nicht optimal, wirkt sich jedoch nicht auf andere Programme aus:
oder
Die Verwendung von xdotool oder xsendkey zum Fälschen von control + g funktioniert und bringt die Flucht nicht überall durcheinander. Es gibt eine visuelle Verzögerung für mich, um den Zeileneditor zu verlassen, aber Indexbindungen funktionieren sofort und die visuelle Verzögerung verschwindet, sobald Sie eine Indexbindung verwenden. Die erste Eingabe ist notwendig, damit mutt nicht einfach "...." eingibt und daraus einen Header oder Suchbegriff oder so macht.
quelle
Diese Lösung ist so schlecht, dass der Autor es vorgezogen hat, den Quellcode von Mutt zu bearbeiten, um ^ G loszuwerden
Warnung: Diese Lösung scheint nicht mit OSX, Emacs und anderen Anwendungen kompatibel zu sein, die Ctrl+ verwendenG
Nach meinem ersten Tag bei Mutt habe ich versehentlich fast ^ G in Vim verwendet ... Dann habe ich etwas ausprobiert, das hier zu funktionieren scheint, in i3 Window Manager und xfce-terminal .
Diese Zeile wurde hinzugefügt zu
~/.i3/config
:Musste verwenden,
"\[Escape]\[Control]\[g]"
weil es nur dazu führte,"\[Control]\[g]"
dass es in Vim nicht mehr funktionierte.Wenn Sie i3 nicht verwenden, können Sie xbindkeys verwenden, um auszuführen,
xvkbd -xsendevent -text "\[Escape]\[Control]\[g]"
wenn Escgedrückt wird.Es ist keine schöne Lösung ... Es kann Ihren EscSchlüssel in einigen Programmen unbrauchbar machen , aber zumindest hier scheint es in Ordnung zu sein.
BEARBEITEN:
Ich sehe jetzt, dass der Ctrl+ GTeil Vim dazu bringt, die Position in der Datei anzuzeigen. Im Moment nichts zu dramatisch.
Dieser Link scheint eine bessere Lösung zu haben, aber für urxvt : http://www.unixli.com/q/answers-urxvt-map-esc-key-to-key-sequence-83211.html
quelle