GNU/Linux >> Tutoriales Linux >  >> Linux

Habilite alt/ctrl + izquierda/derecha en la línea de comandos de CentOS

Gracias a su pregunta, finalmente leí un poco y aumenté mi comprensión, ¡salud!

Entonces, una muy buena fuente de información es man readline . Las combinaciones de teclas especificadas en los diversos inputrc Los archivos controlan la forma en que funciona la biblioteca de línea de lectura BASH. De acuerdo con la página de manual de readline, puede usar nombres de teclas simbólicas o secuencias de escape:

   Key Bindings
       The syntax for controlling key bindings in the inputrc file is
       simple.  All that is required is the name of  the  command  or
       the  text  of a macro and a key sequence to which it should be
       bound. The name may be specified in one of two ways: as a sym‐
       bolic  key  name, possibly with Meta- or Control- prefixes, or
       as a key sequence.  The name and key sequence are separated by
       a  colon.  There can be no whitespace between the name and the
       colon.

       When using the form keyname:function-name or macro, keyname is
       the name of a key spelled out in English.  For example:

              Control-u: universal-argument
              Meta-Rubout: backward-kill-word
              Control-o: "> output"

La página del manual también indica que el archivo de configuración predeterminado es ~/.inputrc así que recomiendo colocar sus fijaciones allí.

Si desea utilizar teclas de letras normales (por ejemplo, Control -g ), Control-g: forward-word funciona bien. Las teclas de flecha son más difíciles. Intenté, y fallé, encontrar la clave nombre para las teclas de flecha. Ninguno de los que probé (left-arrow , left , :left ) funcionó, por lo que parece que estamos atrapados con las secuencias de escape.

Desafortunadamente, la secuencia de escape exacta difiere entre los emuladores de terminal (es por eso que su inputrc de Ubuntu tenía varias líneas). Para averiguar qué secuencia de escape usa su terminal favorito, ejecute read y luego escriba la secuencia de teclas que le interesa. En terminator , xterm y gnome-terminal , Control -Izquierda dar:

$ read
^[[1;5D

en aterm :

$ read
^[Od    <-- that is a capital O not a zero (0).

Experimentando un poco, descubrí que ^[[D es Izquierda y ^[[1;5D es Control -Izquierda . El primer ^[ es Esc tecla, usada aquí, supongo, para denotar una secuencia de escape .

En cualquier caso, para enlazar Control -Izquierda a forward-word de una manera que funcione para todos, agregué estas líneas a mi ~/inputrc :

"\e[1;5D": backward-word
"\eOd": backward-word

Por razones que no he entendido del todo, Control está representado por \e que debería ser Esc .

Mi último ~/.inputrc El archivo que funciona para todos los terminales mencionados anteriormente es:

"\e[1;5D": backward-word
"\eOd": backward-word
"\e[1;5C": forward-word
"\eOc": forward-word

Linux
  1. ¿Manipulación de teclas X y punteros en la línea de comandos?

  2. Nagios:cómo habilitar los argumentos de la línea de comandos check_nrpe

  3. ¿Cómo mover una palabra a la derecha/izquierda en linux/bash?

  4. ctrl + r en la línea de comandos del terminal linux/ubuntu

  5. ¿Pasos para asignar una dirección IP estática en CentOS Linux a través de la línea de comandos?

Cómo deshabilitar Ctrl + Alt + Supr en CentOS 8 / RHEL 8

Domina la línea de comandos de Linux

Conceptos básicos de la línea de comandos de Linux:sudo

¿Cómo habilitar la tecla Alt Gr como Alt R para Emacs en Ubuntu 16.04?

4 formas de comprobar la versión de CentOS en la línea de comandos de Linux

Cómo instalar XAMPP en CentOS 8