2009-08-10 7 views
9

Come è possibile ottenere le evidenziazioni simili a Meno di Bash di Less in Ubuntu di Zsh?Per ridurre i colori in Zsh di Ubuntu

Sono passato da OS X a Ubuntu. I miei meno non funzionano come previsto in Zsh.

I manuali nel mio meno sono verdi e neri con o senza il seguente codice.

# comment these out in Ubuntu 
export LESS_TERMCAP_mb=$'\E[01;31m'   # begin blinking 
export LESS_TERMCAP_me=$'\E[0m'  # end mode 

export LESS_TERMCAP_se=$'\E[0m'  # end standout-mode 
export LESS_TERMCAP_so=$'\E[38;5;246m' # begin standout-mode - info box 
export LESS_TERMCAP_ue=$'\E[0m'  # end underline 

export LESS_TERMCAP_us=$'\E[04;33;146m' # begin underline is now yellow 
#        | | | 
#        | |----------------- yellow 
#        |-------------------- underline 

# to have the indication of cursor's location and line numbers, and R 
export LESS="-mNR" 
#    |--------- only ASCII color 

Il codice rende i manuali leggibili in OS X, ma non funziona con Ubuntu in Zsh.

Ubuntu ha eccellenti evidenziazioni in Bash's Less. I miei manuali hanno i colori giallo, verde e nero in Bash senza il mio codice. Sia Zsh che Bash utilizzano lo stesso valore in meno a /usr/bin/less. Questo mi suggerisce che Ubash's Bash ha alcuni dot-file che lo configurano da qualche parte.

Dove sono le evidenziazioni per Less in Bash di Ubuntu?

+1

@ Luboš Turek, così alla fine ho creato il [tag: less-unix], quindi se si sta per non contrassegnare meno Linux, piacere Prendi in considerazione l'aggiunta di questo al suo posto. – fedorqui

risposta

8

This lavora per me a zsh su Archlinux:

$ mkdir ~/.terminfo/ && cd ~/.terminfo 
Now get the terminfo description: 
$ wget http://nion.modprobe.de/mostlike.txt 
Now compile it using tic (the terminfo entry-description compiler) 
$ tic mostlike.txt 
(you may want to delete the mostlike.txt file after compiling) 

mostlike.txt è questo

# 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, 

E poi basta definire un alias nel file rc della vostra shell preferita:

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

Grazie per la risposta! –

+1

Grazie per la domanda: non lo sapevo, ma lo volevo sempre segretamente .. – 0x89

+0

Ho aggiunto qui il contenuto del link perché la risposta al solo collegamento non è appropriata. –

1

La mia shell predefinita è bash quindi prendi questo con un pizzico di sale. Inizia con /etc/profile e vedi come si generano i file specifici di bash. È necessario ricreare quella logica per zsh. Forse il pacchetto zsh-lovers può aiutare, almeno il suo titolo di suggerimenti, trucchi ed esempi per lo zsh è suggestivo.