7.7. Crear el fichero /etc/inputrc

El fichero /etc/inputrc se ocupa del mapeado del teclado para situaciones concretas. Este fichero es el fichero de inicio usado por Readline, la librería para cuestiones de entrada usada por Bash y otros intérpretes de comandos.

Para más información, mira la página Info de Bash, sección Readline Init File (Fichero de Inicio de Readline). La página Info de Readline es también una buena fuente de información.

Los valores globales se establecen en /etc/inputrc. Los valores personales del usuario se establecen en ~/.inputrc. El fichero ~/.inputrc sobreescribe los valores globales. En una página posterior se configura Bash para usar /etc/inputrc si no hay un .inputrc del usuario cuando se lee /etc/profile (normalmente al entrar al sistema). Para hacer que el sistema utilice ambos, o para evitar un manejo global del teclado, es buena idea añadir un fichero .inputrc por defecto en el directorio /etc/skel para utilizar con los nuevos usuarios.

A continuación hay un /etc/inputrc básico, con comentarios para explicar lo que hace cada opción. Advierte que los comentarios no pueden estar en la misma línea que los comandos.

Para crear un .inputrc en /etc/skel usando el siguiente comando, cambia la salida del comando a /etc/skel/.inputrc y asegúrate de comprobar/establecer sus permisos. Copia dicho fichero a /etc/inputrc y al directorio personal de cada usuario que ya exista en el sistema, incluido root, que necesita una versión privada de este fichero. Utiliza el parámetro -p de cp para manterner los permisos y cambia el usuario y grupo a los adecuados en cada caso.

cat > /etc/inputrc << "EOF"
# Inicio de /etc/inputrc
# Modificado por Chris Lynn <roryo@roryo.dynup.net>

# Se asegura de no mostrar todo en la primera línea
set horizontal-scroll-mode Off

# Activa la entrada de 8 bits
set meta-flag On 
set input-meta On

# Desactiva la supresión del bit 8
set convert-meta Off

# Mantiene el bit 8 para ser mostrado
set output-meta On

# none, visible o audible
set bell-style none

# Todo lo siguiente mapea la secuencia de escape
# del valor contenido en el primer argumento a las
# funciones específicas de readline

"\eOd": backward-word
"\eOc": forward-word

# Para la consola linux
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert

# Para xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# Para Konsole
"\e[H": beginning-of-line
"\e[F": end-of-line

# Fin de /etc/inputrc
EOF