¿Por qué `bind` y` .inputrc` se comportan de manera diferente?

14

Estoy tratando de hacer lo correcto y poner mis atajos de teclado ~/.inputrc.

Sin embargo, resulta que tengo que cambiar

bind '"\e\C-j":"\e[1~quiet \e[4~\n"'

dentro

"\e\C-j": "\eOHquiet \eOF\n"

Ahora \eOH(nav-block-pos1 enlazado a beginning-of-line) y \eOF(nav-block-end enlazado a end-of-line) son enlaces en mi configuración en los que posiblemente no siempre puedo confiar.

Entonces, la pregunta principal es ¿por qué el enlace a num-block-pos1 ( \e[1~) y num-block-end ( \e[4~) funciona bindpero no en mi ~/.inputrc?


Editar:

Todo se está volviendo aún más complicado, ahora que me di cuenta de que \e\C-jsolo funciona para Gnome Terminial (o probablemente xterm también, quién sabe ...).

Para mi TTY tiene que ser

"\e\C-m": "\e[1~_quiet \e[4~\n"

Entonces, ¿es que varios VT tienen implementaciones diferentes de cómo interpretar las claves o qué?


fuente
Esto está documentado en el manual de la interfaz de usuario de GNU Readline , sección 1.3. La keymapopción se usa para establecer qué tipo de representación de teclas se usa en las definiciones de enlaces de teclas. La información relevante: superuser.com/questions/286781/... cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC9 wiki.archlinux.org/index.php/Readline
Ярослав Рахматуллин
@ ЯрославРахматуллин ¿Qué tan exactamente es esto relevante para la diferencia de comportamiento entre usar bindy usar inputrcpara el enlace real? ¿No deberían usar la misma configuración?

Respuestas: