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 readline
dice,
VI Command Mode functions
...
"C-E" emacs-editing-mode
...
Pero bind -p
en 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_readline
funcionar 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).