Como obter páginas man de cor sob a casca de peixe?

8

Parece haver uma maneira de exibir páginas de manual em cores (consulte aqui . variáveis de ambiente associadas a menos e adicionando essas definições a .bashrc . Eu tentei fazer o mesmo em config.fish para a casca de peixe, mas não obtive saída colorida.

Como obter páginas man de cor na casca do peixe?

    
por Ashwin Nanjappa 11.09.2014 / 03:54

4 respostas

5

Você pode definir a configuração pelos seguintes comandos,

set -x LESS_TERMCAP_mb (printf "3[01;31m")  
set -x LESS_TERMCAP_md (printf "3[01;31m")  
set -x LESS_TERMCAP_me (printf "3[0m")  
set -x LESS_TERMCAP_se (printf "3[0m")  
set -x LESS_TERMCAP_so (printf "3[01;44;33m")  
set -x LESS_TERMCAP_ue (printf "3[0m")  
set -x LESS_TERMCAP_us (printf "3[01;32m")  
    
por eleven.i386 19.07.2015 / 15:37
4

Se você deseja que essas cores sejam adicionadas somente ao visualizar páginas de manual, não para tudo que você visualiza em less , defina essas variáveis em uma função de invólucro para man em vez de colocá-las em config.fish .

Todo o processo é criar um novo arquivo em ~/.config/fish/functions/man.fish , e dentro dele definir uma função man que define as variáveis de ambiente necessárias, e chama o original man usando env , passando argumentos usando $argv .

Esta é a minha versão da função de wrapper:

%código%
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:
  # https://sobrelinux.info/questions/18281/how-to-get-color-man-pages-under-fish-shell"\e[1;31m")
  # end of all formatting:
  set -x LESS_TERMCAP_me (printf "\e[0m")

  # start of standout (inverted):
  #set -x LESS_TERMCAP_so (printf "\e[1;40;92m")
  # end of standout (inverted):
  #set -x LESS_TERMCAP_se (printf "\e[0m")
  # (no change – I like the default)

  # start of underline:
  #set -x LESS_TERMCAP_us (printf "\e[1;32m")
  # end of underline:
  #set -x LESS_TERMCAP_ue (printf "\e[0m")
  # (no change – I like the default)

  env man $argv
end
    
por Rory O'Kane 17.08.2016 / 05:28
3

Supondo que você use menos como seu pager, coloque isso em ~/.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 você vir \e[0m etc aparecendo quando visualizar a página man, tente adicionar esta linha também:

set -x LESS "-R"
    
por bobbaluba 28.10.2014 / 10:05
0

É possível usar set_color em vez de sequências ANSI diretas. Na verdade, isso permite que você use qualquer cor desejada, usando saídas hexadecimais de cor 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)
    
por xfix 14.06.2018 / 15:08