¿Cómo obtener páginas de manual de color debajo de la concha de pescado?

12

Parece que hay una manera de hacer que las páginas de manual se muestren en color (ver aquí . Implica establecer variables de entorno asociadas con menos y agregar estas definiciones .bashrc. Intenté hacer lo mismo config.fishpara la concha de pescado, pero no obtuve salida de color.

¿Cómo obtener páginas de manual de color en la concha de pescado?

Ashwin Nanjappa
fuente
@ bodhi.zazen Fish usa el comando set en lugar de exportar. Eso no hizo que las páginas del manual aparecieran en color. De ahí mi pregunta anterior :-)
Ashwin Nanjappa
tienes que "establecer" esas variables (del arch wiki) por menos o (nuevamente del arch wiki) más.
Pantera
@ bodhi.zazen Sí. Yo hice eso. Sin color en las páginas de manual :-(
Ashwin Nanjappa

Respuestas:

6

Puede establecer la configuración con los siguientes comandos,

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")  
once.i386
fuente
7

Si desea que estos colores se agreguen solo al ver páginas de manual, no para todo lo que ve less, debe establecer estas variables en una función de envoltura en manlugar de ponerlas en su config.fish.

Todo el proceso consiste en crear un nuevo archivo en ~/.config/fish/functions/man.fish, y dentro de él definir una función manque establezca las variables de entorno necesarias, luego llame al original manusando command, pasando los argumentos usando $argv.

Esta es mi versión de la función de contenedor:

~/.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
Rory O'Kane
fuente
2
¡Genial gracias! Y para volverse aún más sospechoso, puede usar el set_colorcomando. por ejemplo: set -x LESS_TERMCAP_md (set_color -o red),set -x LESS_TERMCAP_me (set_color normal)
Chris Clark
3

Suponiendo que use menos como buscapersonas, ponga esto en ~/.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")

Si ve que \e[0maparece etc. cuando ve la página de manual, intente agregar esta línea también:

set -x LESS "-R"
bobbaluba
fuente
No funciona. Veo las cadenas \ e [01 cuando hago "man ls".
Ashwin Nanjappa
Extraño, creo que esto fue directamente desde mi archivo de configuración. Sin embargo, no lo he probado en Ubuntu, ya que ejecuto una distribución diferente yo mismo. ¿Quizás podría intentar agregar set -x LESS="-R"al final de su configuración?
bobbaluba
Agregar eso no ayudó. Todavía veo las mismas \ e [01 cadenas en la página de manual.
Ashwin Nanjappa
1

Es posible usar en set_colorlugar de secuencias ANSI directas. De hecho, esto le permite usar cualquier color que desee, mediante escapes hexadecimales de color de 24 bits, como (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)
Konrad Borowski
fuente