Come ottenere pagine man colorate sotto la conchiglia?


12

Sembra che ci sia un modo per far visualizzare le pagine man a colori (vedi qui . Implica l'impostazione delle variabili d'ambiente associate a less e l'aggiunta di queste definizioni a .bashrc. Ho provato a fare lo stesso con config.fishla shell dei pesci, ma non ho ottenuto risultati a colori.

Come ottenere pagine man colorate nella conchiglia?




@ bodhi.zazen Fish utilizza il comando set anziché export. Ciò non ha fatto apparire le pagine man a colori. Da qui la mia domanda sopra :-)
Ashwin Nanjappa,

devi "impostare" quelle variabili (dal wiki dell'arco) per meno o (di nuovo dal wiki dell'arco) di più.
Pantera,

@ bodhi.zazen Sì. L'avevo fatto. Nessun colore nelle pagine man :-(
Ashwin Nanjappa,

Risposte:


6

Puoi impostare la configurazione con i seguenti comandi,

set -x LESS_TERMCAP_mb (printf "\033[01;31m")  
set -x LESS_TERMCAP_md (printf "\033[01;31m")  
set -x LESS_TERMCAP_me (printf "\033[0m")  
set -x LESS_TERMCAP_se (printf "\033[0m")  
set -x LESS_TERMCAP_so (printf "\033[01;44;33m")  
set -x LESS_TERMCAP_ue (printf "\033[0m")  
set -x LESS_TERMCAP_us (printf "\033[01;32m")  

7

Se vuoi che questi colori vengano aggiunti solo quando visualizzi le pagine man, non per tutto ciò che visualizzi less, dovresti impostare queste variabili in una funzione wrapper maninvece di metterle nelle tue config.fish.

L'intero processo consiste nel creare un nuovo file in ~/.config/fish/functions/man.fishe al suo interno definire una funzione manche imposta le variabili di ambiente necessarie, quindi chiama l'originale manutilizzando command, passando gli argomenti utilizzando $argv.

Questa è la mia versione della funzione wrapper:

~/.config/fish/functions/man.fish
function man --description "wrap the 'man' manual page opener to use color in formatting"
  # based on this group of settings and explanation for them:
  # http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized
  # converted to Fish shell syntax thanks to this page:
  # http://askubuntu.com/questions/522599/how-to-get-color-man-pages-under-fish-shell/650192

  # start of bold:
  set -x LESS_TERMCAP_md (set_color --bold red)
  # end of all formatting:
  set -x LESS_TERMCAP_me (set_color normal)

  # start of standout (inverted colors):
  #set -x LESS_TERMCAP_so (set_color --reverse)
  # end of standout (inverted colors):
  #set -x LESS_TERMCAP_se (set_color normal)
  # (no change – I like the default)

  # start of underline:
  #set -x LESS_TERMCAP_us (set_color --underline)
  # end of underline:
  #set -x LESS_TERMCAP_ue (set_color normal)
  # (no change – I like the default)

  command man $argv
end

2
Fantastico grazie! E per ottenere ancora più pesce puoi usare il set_colorcomando. ad es .: set -x LESS_TERMCAP_md (set_color -o red),set -x LESS_TERMCAP_me (set_color normal)
Chris Clark,

3

Supponendo che utilizzi meno come cercapersone, inseriscilo in ~/.config/fish/config.fish:

set -x LESS_TERMCAP_mb (printf "\e[01;31m")
set -x LESS_TERMCAP_md (printf "\e[01;31m")
set -x LESS_TERMCAP_me (printf "\e[0m")
set -x LESS_TERMCAP_se (printf "\e[0m")
set -x LESS_TERMCAP_so (printf "\e[01;44;33m")
set -x LESS_TERMCAP_ue (printf "\e[0m")
set -x LESS_TERMCAP_us (printf "\e[01;32m")

Se vedi \e[0mapparire ecc quando vedi la pagina man, prova ad aggiungere anche questa riga:

set -x LESS "-R"

Non funziona. Vedo le stringhe \ e [01 quando faccio "man ls".
Ashwin Nanjappa,

Strano, credo che questo fosse direttamente dal mio file di configurazione. In realtà non l'ho provato su Ubuntu, mentre eseguo io stesso una distro diversa. Forse potresti provare ad aggiungere set -x LESS="-R"alla fine della tua configurazione?
bobbaluba,

Aggiungendo che non ha aiutato. Sempre vedendo lo stesso \ e [01 stringhe nella manpage.
Ashwin Nanjappa,

1

È possibile utilizzare set_colorinvece delle sequenze ANSI dirette. In effetti, questo ti consente di usare qualsiasi colore tu voglia, usando fughe esadecimali di colore a 24 bit, come (set_color FF55AA).

set -x LESS_TERMCAP_mb (set_color brred)
set -x LESS_TERMCAP_md (set_color brred)
set -x LESS_TERMCAP_me (set_color normal)
set -x LESS_TERMCAP_se (set_color normal)
set -x LESS_TERMCAP_so (set_color -b blue bryellow)
set -x LESS_TERMCAP_ue (set_color normal)
set -x LESS_TERMCAP_us (set_color brgreen)
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.