bash: página man coloreada

15

¿Dónde debo mirar en el sistema para colorear las páginas man?

Las páginas man se ven con menos, así que intenté agregar las siguientes líneas a mi .bashrc para cambiar los colores: (que funciona bien, por cierto).

 #
 #   L E S S   C O L O R S   F O R   M A N   P A G E S
 #

 # CHANGE FIRST NUMBER PAIR FOR COMMAND AND FLAG COLOR
 # currently 0;33 a.k.a. brown, which is dark yellow for me 
    export LESS_TERMCAP_md=$'\E[0;33;5;74m'  # begin bold

 # CHANGE FIRST NUMBER PAIR FOR PARAMETER COLOR
 # currently 0;36 a.k.a. cyan
    export LESS_TERMCAP_us=$'\E[0;36;5;146m' # begin underline

 # don't change anything here
    export LESS_TERMCAP_mb=$'\E[1;31m'       # begin blinking
    export LESS_TERMCAP_me=$'\E[0m'           # end mode
    export LESS_TERMCAP_se=$'\E[0m'           # end standout-mode
    export LESS_TERMCAP_so=$'\E[38;5;246m'    # begin standout-mode - info box
    export LESS_TERMCAP_ue=$'\E[0m'           # end underline

 #########################################
 # Colorcodes:
 # Black       0;30     Dark Gray     1;30
 # Red         0;31     Light Red     1;31
 # Green       0;32     Light Green   1;32
 # Brown       0;33     Yellow        1;33
 # Blue        0;34     Light Blue    1;34
 # Purple      0;35     Light Purple  1;35
 # Cyan        0;36     Light Cyan    1;36
 # Light Gray  0;37     White         1;37
 #########################################

Para mi vergüenza, debo admitir que no descubrí qué significaba el segundo par de números, es decir, el 5;74y el 5;146.

¿Alguien puede aclarar eso más?

sjas
fuente
¿Qué pasa con los votos cerrados? He conocido el enlace de wikipedia antes y todavía no tengo idea de lo que significa el orden de la secuencia. La prueba y error y el establecimiento de valores diferentes no me ayudaron en absoluto. Un simple "go RTFM" no me ayuda aquí.
sjas
Debes estar bromeando ... ¡esto es genial! ¿Dónde está documentado este material? Miré en las páginas de manual de BASH y LESS pero no pude encontrar la cadena LESS_TERMCAP.
ysap
OK, encontré esto para empezar: unix.stackexchange.com/questions/119/colors-in-man-pages
ysap
Esto: " for name [ [ in [ word ... ] ] ; ] do list ; done" tiene más sentido ahora, en color ... 8-)
ysap
@ysap: No he visto esos enlaces, y no puedo recordar dónde encontré esto. Ponga esto aquí para fines de documentación y pregunte sobre las secuencias de escape en el proceso. :)
sjas

Respuestas:

1
export LESS_TERMCAP_md=$'\E[0;33;5;74m'  # begin bold
export LESS_TERMCAP_us=$'\E[0;36;5;146m' # begin underline

En estos dos casos, todos los colores y atributos se restablecen (0), el color de primer plano se cambia a amarillo / marrón (33) o cian (36), luego se enciende el parpadeo (5) y luego sucede algo más ( 74 o 146) que probablemente estén indefinidos y no deseados.

export LESS_TERMCAP_so=$'\E[38;5;246m'

Este es diferente, porque 38 toma parámetros numéricos adicionales. Representa el color de primer plano extendido (y de forma similar 48 sería el mismo para el fondo), y si se sigue con un 5 como el siguiente parámetro (que no tiene nada que ver con el parpadeo esta vez), el tercer número especifica el índice del color ( de 0 a 255: 16 colores heredados estándar, seguidos de un cubo RGB de 6x6x6, seguido de 24 colores en escala de grises), consulte, por ejemplo, aquí .

Ciertos emuladores de terminal también admiten colores RGB arbitrarios directos, en ese caso 38 debe ir seguido de 2 y luego de tres números decimales en el rango 0-255 para R, G, B respectivamente, por ejemplo, # BADA55 es

\E[38;2;186;218;85m
egmont
fuente
1
Es bastante malo que no puedas saber cuál ;representa los parámetros adicionales de uno anterior y cuál representa uno nuevo sin mirar los números exactos. Por lo tanto, se recomendó que los parámetros adicionales se separen por un :lugar. Por ejemplo, para restablecer todo, luego cambie al color n. ° 246 y también encienda el parpadeo, en lugar de 0;38;5;246;5decir 0;38:5:246;5. Lamentablemente, es compatible con incluso menos terminales.
egmont
1

Con la ayuda de http://invisible-island.net/xterm/ctlseqs/ctlseqs.html y el enlace de wikipedia llegué a la conclusión que 5significa 5 Blink: Slow less than 150 per minute.

Los últimos números suenan así:

 If 88- or 256-color support is compiled, the following apply. 
 P s = 3 8 ; 5 ; P s  Set foreground color to the second P s . 
 P s = 4 8 ; 5 ; P s  Set background color to the second P s .

También parece que la cantidad de números no es importante, solo su orden cronológico.

sjas
fuente