bash: pagina man colorata


15

Dove devo dare un'occhiata al sistema per colorare le pagine man?

Le pagine man sono visualizzate con meno, quindi ho provato ad aggiungere le seguenti righe al mio .bashrc per cambiare i colori: (Che funziona bene, tra l'altro.)

 #
 #   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
 #########################################

Con mia grande vergogna devo ammettere che non ho scoperto cosa significasse la seconda coppia di numeri, ovvero il 5;74e il 5;146.

Qualcuno può chiarirlo ulteriormente?


Cos'è con i voti stretti? Conosco il link di Wikipedia prima e ancora non ho idea di cosa significhi l'ordine della sequenza. Prova ed errore e impostazione di valori diversi non mi hanno aiutato affatto. Un semplice "go RTFM" non mi aiuta qui.
sabato

Mi stai prendendo in giro ... è fantastico! Dove è documentata questa roba? Ho cercato nelle pagine man BASH e LESS ma non sono riuscito a trovare la stringa LESS_TERMCAP.

OK, ho
ysap

Questo: " for name [ [ in [ word ... ] ] ; ] do list ; done" ha più senso ora, a colori ...
Cool

@ysap: non ho visto quei link e non ricordo dove l'ho trovato. Metti questo qui a scopo di documentazione e chiedi delle sequenze di escape nel processo. :)
sjas,

Risposte:


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

In questi due casi, tutti i colori e gli attributi vengono ripristinati (0), il colore di primo piano viene commutato in giallo / marrone (33) o ciano (36), quindi il lampeggiamento viene attivato (5) e quindi succede anche qualcos'altro ( 74 o 146) che sono probabilmente indefiniti e non desiderati.

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

Questo è diverso, perché 38 accetta parametri numerici aggiuntivi. Indica il colore di primo piano esteso (e allo stesso modo 48 sarebbe lo stesso per lo sfondo), e se seguito da un 5 come parametro successivo (che non ha nulla a che fare con il lampeggio questa volta) il terzo numero specifica l'indice del colore ( da 0 a 255: 16 colori legacy standard, seguiti da un cubo RGB 6x6x6, seguito da 24 colori in scala di grigi), vedere ad esempio qui .

Alcuni emulatori di terminale supportano anche colori RGB arbitrari diretti, in tal caso 38 dovrebbero essere seguiti da 2, quindi da tre numeri decimali nell'intervallo 0-255 rispettivamente per R, G, B, ad es. # BADA55 è

\E[38;2;186;218;85m

1
È abbastanza brutto che non puoi sapere quali ;sono i parametri aggiuntivi di uno precedente e quali sono i nuovi senza guardare i numeri esatti. Quindi è stato raccomandato che i parametri aggiuntivi fossero separati da un :invece. Ad esempio, per ripristinare tutto, quindi passare al colore # 246 e attivare anche il lampeggiamento, invece di 0;38;5;246;5dire 0;38:5:246;5. Purtroppo è supportato da ancora meno terminali.
egmont,


1

Con l'aiuto di http://invisible-island.net/xterm/ctlseqs/ctlseqs.html e il link di Wikipedia sono arrivato alla conclusione che 5significa 5 Blink: Slow less than 150 per minute.

Gli ultimi numeri suonano così:

 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 .

Inoltre sembra che la quantità di numeri non sia importante, ma solo il loro ordine cronologico.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.