Quando olho para uma página de manual no meu 'console' (não um xterm
), vejo alguma coloração, mas não entendo isso no meu xterm
(por exemplo konsole
). Existe alguma maneira de habilitar isso? espero que uma solução bastante simples?
Quando olho para uma página de manual no meu 'console' (não um xterm
), vejo alguma coloração, mas não entendo isso no meu xterm
(por exemplo konsole
). Existe alguma maneira de habilitar isso? espero que uma solução bastante simples?
Respostas:
Você precisa usar o termcap(5)
recurso. A página de manual em alguns Unices diz que esta ferramenta é obsoleta e de uso terminfo
, mas ainda está disponível em outras (e terminfo
é mais complicada).
Mais importante, less
usa termcap
.
less
Eu faço o seguinte para que less
e man
(que usos less
) tenha 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 a documentação sobre LESS_TERMCAP_*
variáveis? para como isso funciona.
export GROFF_NO_SGR=1
.
Você pode resolver esse problema usando um pager diferente, por exemplo most
. man
realmente usará o programa especificado na PAGER
variável de ambiente. Na página do manual man (1) :
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 no 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
most
deve ser instalado, para que isso funcione.
most
possui teclas estranhas ... que não são configuráveis.
Os sublinhados padrão machucam meus olhos. Essa configuração melhora muito a man
leitura da minha página:
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.
export GROFF_NO_SGR=1
trabalho em alguns emuladores de terminal.
export MANPAGER='less -s -M +Gg'
adiciona.
Salvar 'a maioria' persistentemente
Terminal aberto ( Ctrl+ Alt+ T)
Instale 'most'.
sudo apt-get install most
editar .bashrc, digite:
nano ~/.bashrc
Adicione estas linhas:
# color man-pages persistently
export PAGER='most'
Salve
( Ctrl+ O) -> Enter-> ( Ctrl+ X)
Atualizar
source ~/.bashrc
Teste
man ln
Isso também funciona no xterm.
Retirado de http://nion.modprobe.de/blog/archives/569-colored-manpages.html
Excerto:
$ mkdir ~/.terminfo/ && cd ~/.terminfo
Agora obtenha a terminfo
descrição (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.
mostlike.txt
online.
Tomando a 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
echo -e "\e[04mhello world\e[0m"
o console e o terminal X11 e vendo a diferença. Portanto, esse hack acima abusa do termcap para mentir para MENOS sobre quais códigos ele precisa emitir para negrito / sublinhado e o força a produzir códigos de escape de cores.