¿Combinaciones de teclas personalizadas para el modo vi shell, es decir, "set -o vi"?

¿Combinaciones de teclas personalizadas para el modo vi shell, es decir, "set -o vi"?

Acabo de descubrir las maravillas de set -o vi, y tengo curiosidad por saber si es posible personalizar este modo vi shell de alguna de las mismas maneras en que se puede personalizar vi o vim.

Por ejemplo, cree una combinación de teclas personalizada para asignar una tecla o una combinación de teclas más conveniente a esc?

Si actualmente no es compatible, ¿qué tan difícil sería alterar el código fuente del programa y el código en algunas personalizaciones, o sería una mala idea?

Respuesta1

Sí, puede cambiar las asignaciones de teclas (ya sea para el modo vi o similar a emacs) con el bindarchivo incorporado. En realidad, esta es una característica de readline (por lo que puede tener enlaces similares a vi en todos los programas de readline, no solo en bash).

La clave que estás buscando se llama vi-movement-modey su valor predeterminado es \e(escape). También podría vincularlo a (y esto es bastante tonto) iguales como este. La segunda línea elimina el enlace para escapar:

$ bind "=":vi-movement-mode 
$ bind -r "\e"

La ejecución bind -ple mostrará todas las claves que puede vincular y sus vinculaciones actuales (si las hay).

Puede poner bindcomandos en su archivo .bashrco puede editarlos ~/.inputrcpara que se apliquen a todos los programas readline que ejecute. Los documentos de readline contienen todos los detalles.

información relacionada