Colors in Man Pages

60

Quando eu olho para uma página man no meu 'console' (não é um xterm ) eu vejo alguma coloração, mas eu não entendo isso no meu xterm (por exemplo, konsole ) existe algum maneira que eu posso permitir isso? espero que seja uma solução bastante simples?

    
por xenoterracide 10.08.2010 / 22:39

7 respostas

73

Você precisa usar o recurso termcap(5) . A página man em alguns Unices diz que essa ferramenta é obsoleta e usa terminfo , mas ainda está disponível em outros (e terminfo é mais complicado).

Mais importante, less usa termcap .

Definir cores para less

Eu faço o seguinte para que less e man (que usa less ) tenham cor:

$ cat ~/.LESS_TERMCAP 
export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green
export LESS_TERMCAP_md=$(tput bold; tput setaf 6) # cyan
export LESS_TERMCAP_me=$(tput sgr0)
export LESS_TERMCAP_so=$(tput bold; tput setaf 3; tput setab 4) # yellow on blue
export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 7) # white
export LESS_TERMCAP_ue=$(tput rmul; tput sgr0)
export LESS_TERMCAP_mr=$(tput rev)
export LESS_TERMCAP_mh=$(tput dim)
export LESS_TERMCAP_ZN=$(tput ssubm)
export LESS_TERMCAP_ZV=$(tput rsubm)
export LESS_TERMCAP_ZO=$(tput ssupm)
export LESS_TERMCAP_ZW=$(tput rsupm)
export GROFF_NO_SGR=1         # For Konsole and Gnome-terminal

E, em meu ~/.bashrc , faço isso:

# Get color support for 'less'
export LESS="--RAW-CONTROL-CHARS"

# Use colors for less, man, etc.
[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP

OBSERVAÇÃO: Consulte Documentação sobre LESS_TERMCAP_* variáveis? como isso funciona.

O resultado final

    
por 10.08.2010 / 23:17
15

Você pode resolver esse problema usando um pager diferente, por exemplo, most . man realmente usará o programa especificado na variável de ambiente PAGER . Na página man do man (1) :

MANPAGER, PAGER

If $MANPAGER or $PAGER is set ($MANPAGER is used in preference), its value is used as the name of the program used to display the manual page. By default, pager -s is used.

The value may be a simple command name or a command with arguments, and may use shell quoting (backslashes, single quotes, or double quotes).

It may not use pipes to connect multiple commands; if you need that, use a wrapper script, which may take the file to display either as an argument or on standard input.

Se most estiver instalado em seu sistema, tente isso antes de lançar man :

export PAGER=most
    
por 15.08.2010 / 12:00
10

Os sublinhados padrão machucam meus olhos. Essa configuração melhora muito minha leitura de página man :

Adicioneoseguintenoseu'~.bashrc':

#Havelessdisplaycolours#from:https://wiki.archlinux.org/index.php/Color_output_in_console#manexportLESS_TERMCAP_mb=$'\e[1;31m'#beginboldexportLESS_TERMCAP_md=$'\e[1;33m'#beginblinkexportLESS_TERMCAP_so=$'\e[01;44;37m'#beginreversevideoexportLESS_TERMCAP_us=$'\e[01;37m'#beginunderlineexportLESS_TERMCAP_me=$'\e[0m'#resetbold/blinkexportLESS_TERMCAP_se=$'\e[0m'#resetreversevideoexportLESS_TERMCAP_ue=$'\e[0m'#resetunderlineexportGROFF_NO_SGR=1#forkonsoleandgnome-terminal

Paraavitória,combinecomexportMANPAGER='less-s-M+Gg' (fonte) para exibir sua porcentagem no documento.

    
por 09.12.2016 / 03:22
5

Se você usar Oh My Zsh , poderá adicionar colored-man-pages à matriz plugins no seu arquivo .zshrc .

    
por 29.03.2017 / 22:10
3

Salve "mais" persistentemente

Abra o Terminal ( Ctrl + Alt + T )

  1. Instale "mais".

    sudo apt-get install most
    
  2. edite .bashrc, digite:

    nano ~/.bashrc
    
  3. Adicione estas linhas:

    # color man-pages persistently
    export PAGER='most'
    
  4. Salvar

    ( Ctrl + O ) - > Digite - > ( Ctrl + X )

  5. Atualizar

    source ~/.bashrc
    
  6. Teste

    man ln
    

Isso também funciona no xterm.

    
por 14.12.2017 / 11:17
1

Extraído do link

Trecho:

$ mkdir ~/.terminfo/ && cd ~/.terminfo

Agora, obtenha a terminfo description (salve o seguinte como mostlike.txt):

# Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-pcolor
mostlike|manpages with color looking like most, 
    am, hs, km, mir, msgr, xenl, 
    cols#80, it#8, lines#24, wsl#40, 
    acsc=''aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
    bel=^G, bold=\E[1m\E[31m, clear=\E[H\E[2J, cr=^M, 
    csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, 
    cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 
    cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
    dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
    dsl=\E]0;
$ tic mostlike.txt
7, ed=\E[J, el=\E[K, enacs=\E)0, fsl=^G, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, rc=\E8, rev=\E[7m\E[34m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[1;30m\E[47m, smul=\E[32m, tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,

Agora compile-o usando tic (o compilador de descrição de entrada terminfo):

$ alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man"

(Você pode querer excluir o arquivo mostlike.txt após a compilação.)

Em seguida, basta definir um alias no arquivo *rc do seu shell favorito.

$ mkdir ~/.terminfo/ && cd ~/.terminfo

Se você quiser modificar o arquivo terminfo, use infocmp mostlike para obter o conteúdo dele mais tarde.

    
por 10.08.2010 / 22:45
1

Tomando a resposta do dirtybit , eu queria mudar a cor do destaque Procurar Resultados. Isso é chamado de "modo de destaque", aqui está um arquivo de exemplo "xterm-yellow.ti":

xterm-yellow|yellow standout mode,
# exit standout mode
  rmso=\e[m,
# begin standout mode
  smso=\e[5;30;43m,
# similar terminal
  use=xterm,

Compile e instale o arquivo:

tic xterm-yellow.ti

Adicione uma linha a "~ / .profile" ou similar:

TERM=xterm-yellow
    
por 06.04.2017 / 13:46