Comprender los caracteres de control en .inputrc

Comprender los caracteres de control en .inputrc

Mi cuenta de Linux en una máquina remota viene con lo siguiente predefinido.inputrc

"\e[1~": beginning-of-line
"\e[4~": end-of-line
“\e[5~”: history-search-backward
“\e[6~”: history-search-forward
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

set completion-ignore-case on
set bell-style visible
set expand-tilde on
set convert-meta off
set input-meta on
set output-meta on
set show-all-if-ambiguous on
set visible-stats on

Estoy leyendo la documentación de GNU bash.en el tema, pero no he podido encontrar una sección que explique qué significan las secuencias de caracteres \e[1~, \e[5C, \e\e[D, etc.

Creo que leí en alguna parte que \esignifica meta character(que creo que está Alten mi teclado), pero no entiendo qué significan los otros caracteres de control [, ~etc.5D

¿Alguien conoce una buena referencia sobre el tema?

Respuesta1

Estos sonSecuencias de escape del código de control ANSIque se transmiten cuando se presionan varias teclas no alfanuméricas en un teclado de "terminal".

\e significa el carácter ASCII "ESCAPE" (octal 033 hexadecimal 1B decimal 27). Que es parte de una introducción a la secuencia de comandos (CSI).

Escape [ 2 ~es una secuencia de caracteres que se transmite al presionar la tecla "Insertar" en unTerminal VT220 (o posterior).

Muchas de estas convenciones se han adoptado en software como xterm y consolas/shells de Linux, a menudo ampliadas de diversas formas, a veces incompatibles.

El uso de estas secuencias en la función READLINE de bash se describe en lapaginas manparalínea de lectura

       En la segunda forma, "keyseq": nombre de función o macro, keyseq difiere
       del nombre clave anterior en el sentido de que las cadenas que denotan una secuencia de claves completa pueden
       especificarse colocando la secuencia entre comillas dobles. Algunos GNU
       Se pueden utilizar escapes de teclas de estilo Emacs, como en el siguiente ejemplo, pero
       los nombres de los caracteres simbólicos no se reconocen.

          "\Cu": argumento universal
          "\Cx\Cr": volver a leer el archivo de inicio
          "\e[11~": "Tecla de función 1"

Para obtener una lista de qué secuencias de escape corresponden a qué teclas del teclado, puede usar un comando como infocmp -L -1oinfocmp -L -1 xterm

información relacionada