color-terminal.jpg

Existen varias técnicas para darle un toque de color a las man pages de la terminal en Linux, prescindiendo del blanco/negro habitual y haciendo la consola más atractiva a la hora de buscar información, sobre alguna de esas aplicaciones que estamos por usar.

Una de ellas es most del que ya hablamos en la prehistoria del blog y otra puede ser añadiendo unas líneas de código a nuestro archivo de configuración ./bashrc.

Se trata de proporcionar diferentes valores en la biblioteca Termcap, utilizada para dotar de determinadas capacidades a la terminal en Linux y otros sistemas Unix-Like.

En el caso que nos ocupa estableciendo los colores a usar y la representación del estilo dado a la escritura, en las páginas del manual.

1
2
3
4
5
6
7
8
9
10
11
12
13
# color manpages
 
man() {
    env \
        LESS_TERMCAP_mb=$(printf "\e[1;31m") \
        LESS_TERMCAP_md=$(printf "\e[1;31m") \
        LESS_TERMCAP_me=$(printf "\e[0m") \
        LESS_TERMCAP_se=$(printf "\e[0m") \
        LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
        LESS_TERMCAP_ue=$(printf "\e[0m") \
        LESS_TERMCAP_us=$(printf "\e[1;32m") \
            man "$@"
}

Introduciendo el código anterior en ./bashrc y reiniciando la consola, vemos que el texto en negrita ahora se convierte en rojo claro, el subrayado pasa a tener color verde y el texto sombreado de pie de página que nos marca la línea de navegación adquiere un tono amarillo sobre fondo azul oscuro. El resto del texto permanece del mismo color.

Lo bueno del asunto es que podemos cambiar el esquema de color con mínimos retoques. Os dejo una lista con los códigos de varios colores, por si lo queréis dejar a vuestro gusto:

1
2
3
4
5
6
7
8
# Negro       0;30     #Gris oscuro    1;30
# Rojo        0;31     #Rojo Claro     1;31
# Verde       0;32     #Verde claro    1;32
# Marrón      0;33     #Amarillo       1;33
# Azul        0;34     #Azul claro     1;34
# Purpura     0;35     #Fucsia         1;35
# Cyan        0;36     #Cyan claro     1;36
# Gris claro  0;37     #Blanco         1;37

Sobre el tema de las variables en LESS_TERMCAP y la secuencias de escape ANSI no es que exista demasiado información, más allá de la que ofrece el manual de Termcapt:

man termcapt

En el caso que nos ocupa:

  • mb: empieza el modo parpadeo en rojo
  • md: empieza el modo negrita en rojo
  • me: finaliza todos los modos so, us, mb, md y mr
  • se: abandona el modo de resaltado o destacado.
  • so: empieza el modo de resaltado (amarillo sobre cuadro de fondo azul)
  • us: empieza subrayado
  • ue: finaliza subrayado (color verde)

Además de en bash, esto también funciona en otros shells como zsh, en este último caso modificando el archivo de configuración ~/.zshrc.

 

Fuente: Idle Time |

¿Quién está en línea?

Hay 8983 invitados y ningún miembro en línea