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?


¿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


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

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.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.