ti-enxame.com

Cores nas páginas de manual

Quando olho para uma página de manual no meu 'console' (não um xterm), vejo alguma coloração, mas não recebo isso nos meus xterm 's (por exemplo, konsole ) existe alguma maneira de habilitar isso? espero que uma solução bastante simples?

66
xenoterracide

Você precisa usar o recurso termcap(5) . A página de manual em alguns Unices diz que esta ferramenta é obsoleta e deve ser usada terminfo , mas ainda está disponível em others (e terminfo mais complicado).

Mais importante, less usa termcap.


Definindo 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 então no meu ~/.bashrc, Eu faço isso:

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

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

NOTA: Consulte Documentação em LESS_TERMCAP_* variáveis? para saber como isso funciona.

O resultado final

ss of man page

81
Stefan Lasiewski

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 de manual man (1) man:

MANPAGER, PAGER

Se $ MANPAGER ou $ PAGER estiver definido ($ MANPAGER é usado de preferência), seu valor será usado como o nome do programa usado para exibir a página do manual. Por padrão, o pager -s é usado.

O valor pode ser um nome de comando simples ou um comando com argumentos e pode usar aspas do Shell (barras invertidas, aspas simples ou aspas duplas).

Pode não usar pipes para conectar vários comandos; se precisar, use um script de wrapper, que pode levar o arquivo a ser exibido como argumento ou na entrada padrão.

Se most estiver instalado no seu sistema, tente isto antes de iniciar man:

export PAGER=most
15
cannedprimates

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

Coloured man page example

Adicione o seguinte no seu `~ .bashrc ':

# Have less display colours
# from: https://wiki.archlinux.org/index.php/Color_output_in_console#man
export LESS_TERMCAP_mb=$'\e[1;31m'     # begin bold
export LESS_TERMCAP_md=$'\e[1;33m'     # begin blink
export LESS_TERMCAP_so=$'\e[01;44;37m' # begin reverse video
export LESS_TERMCAP_us=$'\e[01;37m'    # begin underline
export LESS_TERMCAP_me=$'\e[0m'        # reset bold/blink
export LESS_TERMCAP_se=$'\e[0m'        # reset reverse video
export LESS_TERMCAP_ue=$'\e[0m'        # reset underline
export GROFF_NO_SGR=1                  # for konsole and gnome-terminal

Para a vitória, combine com export MANPAGER='less -s -M +Gg'(origem) para exibir sua porcentagem no documento.

11
Tom Hale

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

5
tremby

Salvar 'a maioria' persistentemente

Terminal aberto (Ctrl+Alt+T)

  1. Instale 'most'.

    Sudo apt-get install most
    
  2. editar .bashrc, digite:

    nano ~/.bashrc
    
  3. Adicione estas linhas:

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

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

  5. Atualizar

    source ~/.bashrc
    
  6. Teste

    man ln
    

Isso também funciona no xterm.

3
Denis Griffin

Retirado de http://nion.modprobe.de/blog/archives/569-colored-manpages.html

Trecho:

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

Agora obtenha a descrição terminfo (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;\007, 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):

$ tic mostlike.txt

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

E então apenas defina um alias no *rc arquivo do seu Shell favorito.

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

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

1
dirtybit

Tomando resposta de dirtybit , eu queria mudar a cor dos resultados de pesquisa destacados. 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 linha a "~/.profile" ou similar:

TERM=xterm-yellow
1
Steven Penny