¿Cómo activar todas las claves de enlace predeterminadas del modo de edición vi en bash?

¿Cómo activar todas las claves de enlace predeterminadas del modo de edición vi en bash?

Estoy usando el modo de edición vi en Bash. Según man readline, hay un par de claves de enlace predeterminadas que funcionan en el modo de edición vi. Algunas claves funcionan bien, pero otras claves predeterminadas no funcionan.

Por ejemplo, man readlinedice,

VI Command Mode functions
...
         "C-E"  emacs-editing-mode
...

Pero bind -pen mi caja de Linux dice que 'emacs-editing-mode' no está vinculado a ninguna clave.

$ bind -p | grep emacs-editing
# emacs-editing-mode (not bound)

¿Es esta una situación normal? ¿Cómo activar todas las claves de enlace predeterminadas del modo de edición vi en bash? ¿Tengo que vincular claves manualmente en .inputrc?

Respuesta1

Bash modifica algunos enlaces de línea de lectura predeterminados, incluido este. El código está en elinitialize_readlinefuncionar enbashline.c.

/* In Bash, the user can switch editing modes with "set -o [vi emacs]",
   so it is not necessary to allow C-M-j for context switching.  Turn
   off this occasionally confusing behaviour. */

Las teclas de cambio de modo son las únicas que no están vinculadas. Algunas claves adicionales están vinculadas (por ejemplo, para completar un bash específico, como M-$completar nombres de variables).

información relacionada