Primero, debe determinar si su terminal envía diferentes secuencias de escape para estas combinaciones de teclas. Las aplicaciones que se ejecutan en terminales obtienen caracteres como entrada, no claves. Las teclas de función están codificadas como caracteres de control o como secuencias de escape que comienzan con el carácter de escape (que puede escribir como \eun enlace de tecla).
Para ver la secuencia de escape enviada por una combinación de teclas en un terminal, presione Ctrl+ Ven el indicador de comandos de la consola, luego presione la combinación de teclas. Por ejemplo, si presiono Ctrl+ VCtrl+ Leften un indicador de shell, veo ^[O5D. ^[es el personaje de escape, por lo que necesitaría \eO5Dunirme a Mutt para que reaccione a Ctrl+ Left:
bind editor \eO5D backward-word
Algunos terminales envían la misma secuencia de escape para la misma clave con diferentes modificadores. Si ese es el caso, deberá descubrir cómo cambiar el comportamiento del terminal o cambiar a un terminal diferente.
Suena bien, pero no funciona. \ees la clave de escape, no el personaje de escape ...
Profpatsch
@Profpatsch Weird, ese enlace funciona para mí. He estado usando Mutt 1.5 desde hace mucho tiempo, ¿tal vez 1.4 funciona de manera diferente? ¿Funciona si lo usa \een una macro macro editor \e[O5D \eb:?
Gilles 'SO- deja de ser malvado'
1
Estoy en Terminator, cuando golpeo Ctrl+Downconsigo ^[[1;5B, no funciona bind index \e[1;5B commandy tampoco con \e1;5B . Oh, yo trabajo con Mutt 1.5.21 (Arch.;)
Profpatsch
1
@Profpatsch Ok, puedo reproducir esto. Parece que hay una limitación a 5 caracteres: bind editor \e[1\;5 backward-wordfunciona para mí (y se inserta un extra Dcuando entro ESC [ 1 ; 5 D), pero bind editor \e[1\;5D backward-wordlos resultados en ESC [ 1 ; 5 Dno hacer nada. Veo una limitación de 8 caracteres en el código fuente ( MAX_SEQ), pero nada que se dispare a 5 caracteres.
Gilles 'SO- deja de ser malvado'
@Profpatsch Una solución alternativa sería hacer que su terminal envíe secuencias más cortas. No sé si Terminator lo admite.
En caso de que haya logrado utilizar :exec what-keyesta información, pero no haya podido averiguar "qué tecla" presionar para salir del what-keycomando, la secuencia de teclas para salir es Ctrl-g.
KDN
@KDN: Gracias. Se estaba volviendo un poco vergonzoso. ;)
Teekin
@KDN Ctrl-gse usa para cancelar comandos en emacs y muchos shells de Unix.
\e
es la clave de escape, no el personaje de escape ...\e
en una macromacro editor \e[O5D \eb
:?Ctrl+Down
consigo^[[1;5B
, no funcionabind index \e[1;5B command
y tampoco con\e1;5B
. Oh, yo trabajo con Mutt 1.5.21 (Arch.;)bind editor \e[1\;5 backward-word
funciona para mí (y se inserta un extraD
cuando entroESC [ 1 ; 5 D
), perobind editor \e[1\;5D backward-word
los resultados enESC [ 1 ; 5 D
no hacer nada. Veo una limitación de 8 caracteres en el código fuente (MAX_SEQ
), pero nada que se dispare a 5 caracteres.Encontré la respuesta correcta aquí :
Dentro de mutt, usa el comando
Luego, presionando la tecla deseada (como Ctrl + flecha) puede aprender a hacer referencia a cualquier tecla. En mi caso obtengo
<C-Up>
Ctrl + Arriba.fuente
:exec what-key
esta información, pero no haya podido averiguar "qué tecla" presionar para salir delwhat-key
comando, la secuencia de teclas para salir esCtrl-g
.Ctrl-g
se usa para cancelar comandos en emacs y muchos shells de Unix.