Par défaut, lorsque vous entrez des informations à l'invite de commande dans mutt
, vous pouvez effacer l'invite avec Ctrlg, comme décrit dans le manuel :
^ G n / a abandonner
J'ai essayé de lier cette fonction à Escape. Malheureusement, abort
n'est pas répertorié dans les fonctions disponibles, ni dans le manuel , ni dans la source .
J'ai essayé d'utiliser ceci dans mon .muttrc
:
éditeur de liaison <esc> abandonner
mais cela renvoie une erreur:
Erreur dans /home/jason/.mutt/muttrc, ligne 143: abandon: aucune fonction de ce type sur la carte
J'ai essayé d'utiliser une carte différente, comme ( generic
) et expérimenté d'autres fonctions fictives, comme clear
, en vain.
Comment lierais-je Escapepour effacer la ligne d'invite?
mutt
key-mapping
jasonwryan
la source
la source
^[
afin qu'il ne soit pas un showstopper (je n'utilise pas de liaisons qui en dépendent de toute façon).Esc
,Esc
enverrait deux caractères ESC. Vous pouvez également appuyerEsc
une fois sur et attendre environ une seconde (le délai d'attente par défaut attend le reste d'une séquence d'échappement).Réponses:
Ce n'est pas possible avec les raccourcis clavier. Ctrl-Gest codé en dur dans mutt à un niveau inférieur à celui du traitement des macros ou des raccourcis clavier (voir
mutt_getch()
dans le code source de mutt, au cœur de toutes les entrées utilisateur dans mutt qui renvoie une erreur^G
).ne fonctionnerait pas non plus.
Ce que vous pouvez faire est de configurer votre terminal pour envoyer
^G
en appuyant surEscapeAvec xterm:
Si vous utilisez
screen
, vous pouvez également faireavant d'appeler mutt et de le restaurer ensuite (malheureusement, il ne semble pas que vous puissiez avoir des raccourcis clavier par écran dans l'écran). En outre, cela va être un problème si votre éditeur de messages électroniques est vi.
la source
Cela me semble être une très mauvaise idée de lier l'évasion ControlGaussi. Je suis venu ici à la recherche d'une solution mutt, mais comme il semble qu'il n'y en ait pas, je donnerai une réponse de ce que je fais pour quiconque arrive à tomber dessus. Ce n'est pas optimal mais cela n'affectera aucun autre programme:
ou
Utiliser quelque chose comme xdotool ou xsendkey pour simuler control + g fonctionne et ne gâche pas la fuite partout ailleurs. Il y a un délai visuel pour que je quitte l'éditeur de ligne, mais les liaisons d'index fonctionneront immédiatement et le délai visuel disparaîtra dès que vous utiliserez une liaison d'index. La première entrée est nécessaire pour que mutt ne se contente pas de taper "...." et d'en faire un en-tête ou un terme de recherche ou quelque chose.
la source
Cette solution est si mauvaise que l'auteur a préféré éditer le code source de Mutt pour se débarrasser de ^ G
Avertissement: cette solution semble incompatible avec OSX, Emacs et d'autres applications qui utilisent Ctrl+G
Après mon premier jour à Mutt, j'utilisais presque ^ G dans Vim par erreur ... Ensuite, j'ai essayé quelque chose qui semble fonctionner ici, dans le gestionnaire de fenêtres i3 et xfce-terminal .
Ajout de cette ligne à
~/.i3/config
:J'ai dû l'utiliser
"\[Escape]\[Control]\[g]"
parce que"\[Control]\[g]"
ça l'a empêché de fonctionner à Vim.Si vous n'utilisez pas i3, je pense que vous pouvez utiliser xbindkeys pour exécuter
xvkbd -xsendevent -text "\[Escape]\[Control]\[g]"
lorsque vous Escappuyez sur.Ce n'est pas une belle solution ... Cela peut rendre votre Escclé inutilisable dans certains programmes, mais au moins ici ça semble ok.
ÉDITER:
Je vois maintenant que la partie Ctrl+ Gfait que Vim montre la position dans le fichier. Rien de trop dramatique, pour l'instant.
Ce lien semble avoir une meilleure solution, mais pour urxvt : http://www.unixli.com/q/answers-urxvt-map-esc-key-to-key-sequence-83211.html
la source