Quando guardo una pagina man nella mia 'console' (non una xterm
) vedo un po 'di colorazione, ma non la capisco nella mia xterm
(es. konsole
) C'è un modo per abilitarlo? si spera una soluzione abbastanza semplice?
Quando guardo una pagina man nella mia 'console' (non una xterm
) vedo un po 'di colorazione, ma non la capisco nella mia xterm
(es. konsole
) C'è un modo per abilitarlo? si spera una soluzione abbastanza semplice?
Risposte:
Devi usare la termcap(5)
funzione. La pagina man di alcuni Unices dice che questo strumento è obsoleto e da usare terminfo
, ma è ancora disponibile su altri (ed terminfo
è più complicato).
Ancora più importante, less
utilizza termcap
.
less
Faccio quanto segue in modo che less
e man
(che utilizza less
) avrà colore:
$ 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 poi nel mio ~/.bashrc
, faccio questo:
# Get color support for 'less'
export LESS="--RAW-CONTROL-CHARS"
# Use colors for less, man, etc.
[[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP
NOTA: consultare la documentazione sulle LESS_TERMCAP_*
variabili? per come funziona.
export GROFF_NO_SGR=1
.
È possibile risolvere questo problema utilizzando ad esempio un altro cercapersone most
. man
utilizzerà effettivamente il programma specificato nella PAGER
variabile di ambiente. Dalla pagina man man (1) :
MANPAGER, PAGER
Se è impostato $ MANPAGER o $ PAGER (si preferisce $ MANPAGER), il suo valore viene utilizzato come nome del programma utilizzato per visualizzare la pagina del manuale. Per impostazione predefinita, viene utilizzato il cercapersone -s.
Il valore può essere un semplice nome di comando o un comando con argomenti e può usare le virgolette della shell (barre rovesciate, virgolette singole o virgolette doppie).
Non può usare pipe per collegare più comandi; se necessario, utilizzare uno script wrapper, che può richiedere la visualizzazione del file come argomento o su input standard.
Se most
è installato sul tuo sistema, prova questo, prima di avviare man
:
export PAGER=most
most
dovrebbe essere installato, affinché funzioni.
most
ha strane combinazioni di tasti ... che non sono configurabili.
Le sottolineature predefinite mi fanno male agli occhi. Questa configurazione migliora notevolmente la man
lettura della mia pagina:
Aggiungi quanto segue nel tuo `~ .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
Per la vittoria, combinalo con export MANPAGER='less -s -M +Gg'
(fonte) per visualizzare la tua percentuale nel documento.
export GROFF_NO_SGR=1
di funzionare su alcuni emulatori terminali.
export MANPAGER='less -s -M +Gg'
aggiunge.
Salva "più" in modo persistente
Apri terminale ( Ctrl+ Alt+ T)
Installa 'most'.
sudo apt-get install most
modifica .bashrc, digita:
nano ~/.bashrc
Aggiungi queste righe:
# color man-pages persistently
export PAGER='most'
Salva
( Ctrl+ O) -> Enter-> ( Ctrl+ X)
ricaricare
source ~/.bashrc
Test
man ln
Questo funziona anche in xterm.
Tratto da http://nion.modprobe.de/blog/archives/569-colored-manpages.html
Estratto:
$ mkdir ~/.terminfo/ && cd ~/.terminfo
Ora ottieni la terminfo
descrizione (salva quanto segue come 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,
Ora compilarlo usando tic
(il compilatore della descrizione della voce terminfo):
$ tic mostlike.txt
(Potresti voler eliminare il mostlike.txt
file dopo la compilazione.)
E poi basta definire un alias nel *rc
file della tua shell preferita.
$ alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man"
Se si desidera modificare il file terminfo, utilizzare infocmp mostlike
per ottenerne il contenuto in un secondo momento.
mostlike.txt
online.
Prendendo la risposta di dirtybit , volevo cambiare il colore dei risultati di ricerca evidenziati. Questa si chiama "modalità straordinaria", ecco un file di esempio "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,
Compila e installa il file:
tic xterm-yellow.ti
Aggiungi linea a "~ / .profile" o simile:
TERM=xterm-yellow
echo -e "\e[04mhello world\e[0m"
sia la console che il tuo terminale X11 e vedendo la differenza. Quindi questo hack di cui sopra abusa di termcap per mentire MENO su quali codici deve emettere per grassetto / sottolineato e lo costringe invece a produrre codici di escape colore.