¿Tenemos una tabla de enlaces de teclas que traduce todas las diversas formas de referirse a una pulsación de tecla? Estoy usando zsh
, pero supongo que si hubiera una tabla así, funcionaría para cualquier shell.
La razón por la que pregunto es que me gustaría asignar algunas combinaciones de teclas y no tengo forma de saber cómo referirme a ellas (a menos que vaya a robar una que ya esté definida).
Por ejemplo, en 'zbindkey' tenemos este tipo de cosas:
[[ "$terminfo[kend]" == " O"* ]] && \
bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line
... y puedo adivinar que "kend" significa que esto se refiere a la Endclave.
Verificación cruzada con bindkey
veo estas líneas:
"^E" end-of-line
"^[OF" end-of-line
"^[[F" end-of-line
... así que confío en que una de esas líneas se refiere a la Endclave. ¿Cúal?
También tenemos esto en el archivo "bindkey":
bindkey "\e[A" history-beginning-search-backward
Ahora, sé que esa es la Up Arrowclave, pero ¿cómo podría averiguarlo si no lo supiera?
$ bindkey (at CLI)
... nos da un idioma diferente para la misma clave:
"^[[A" history-beginning-search-backward
... pero al menos ahora sé que ^[[A
en bindkey-at-CLI speak es lo mismo que \e[A
en bindkey-in-zbindkey speak. Eso es fácil. En los viejos tiempos en DOS, el Up Arrow era 0;72
: podía encontrar el código de escaneo de cada pulsación de tecla legal y solo había un idioma.
¿Hay una mesa? O alguna otra forma de poder elegir una pulsación de tecla y saber cómo referirse a ella enterminfo[]
... en "bindkey-in-zbindkey" ... en "bindkey-at-CLI" y / o en cualquier otro idioma que pueda ¿resultando ser?
Nuevamente, en DOS estaba el scancode
programa: escriba una pulsación de tecla y obtendrá el código de escaneo. Fue pecaminosamente fácil.
¿De las respuestas, supongo que no hay forma de imprimir una tabla de todos los enlaces posibles? De todos modos 'bindkey' hace casi lo que quiero:
pts/2 HP-y5-10-Debian1 root /aWorking/Docs $ bindkey -L
bindkey "^@" set-mark-command
bindkey "^A" beginning-of-line
bindkey "^B" backward-char
bindkey "^D" delete-char-or-list
bindkey "^E" end-of-line
...
al menos puedo ver todos los enlaces existentes, incluso si no todos los enlaces posibles . Ahora, si solo hubiera alguna forma de traducir los glifos clave en términos 'regulares':
bindkey "Home" beginning-of-line
... entonces sería feliz.
stty -a
que sea que digalnext
) y luego la tecla.