bash: renklendirilmiş adam sayfası


15

Man sayfalarını renklendirmek için sisteme nereden bakmam gerekiyor?

Man sayfaları daha az görüntüleniyor, bu yüzden renkleri değiştirmek için .bashrc'ye aşağıdaki satırları eklemeyi denedim: (Hangi iyi çalışıyor, btw.)

 #
 #   L E S S   C O L O R S   F O R   M A N   P A G E S
 #

 # CHANGE FIRST NUMBER PAIR FOR COMMAND AND FLAG COLOR
 # currently 0;33 a.k.a. brown, which is dark yellow for me 
    export LESS_TERMCAP_md=$'\E[0;33;5;74m'  # begin bold

 # CHANGE FIRST NUMBER PAIR FOR PARAMETER COLOR
 # currently 0;36 a.k.a. cyan
    export LESS_TERMCAP_us=$'\E[0;36;5;146m' # begin underline

 # don't change anything here
    export LESS_TERMCAP_mb=$'\E[1;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

 #########################################
 # Colorcodes:
 # Black       0;30     Dark Gray     1;30
 # Red         0;31     Light Red     1;31
 # Green       0;32     Light Green   1;32
 # Brown       0;33     Yellow        1;33
 # Blue        0;34     Light Blue    1;34
 # Purple      0;35     Light Purple  1;35
 # Cyan        0;36     Light Cyan    1;36
 # Light Gray  0;37     White         1;37
 #########################################

Utanç için, ikinci sayı çiftinin ne anlama geldiğini bilmediğimi itiraf etmeliyim, yani 5;74 ve 5;146.

Birisi bunu daha iyi açıklayabilir mi?


Yakın oylarla nedir? Daha önce wikipedia bağlantısını biliyordum ve hala dizinin sırasının ne anlama geldiğine dair hiçbir fikrim yok. Deneme yanılma ve farklı değerler belirleme bana hiç yardımcı olmadı. Basit bir "git RTFM" burada bana yardımcı olmaz.
sjas

Benimle dalga geçiyor olmalısın ... bu harika! Bu belgeler nerede belgeleniyor? BASH ve LESS man sayfalarına baktım ama LESS_TERMCAP dizesini bulamadım.
ysap

Tamam, bunu yeni başlayanlar için buldu: unix.stackexchange.com/questions/119/colors-in-man-pages
ysap

Bu: " for name [ [ in [ word ... ] ] ; ] do list ; done" artık daha mantıklı, renkli ... 8-)
ysap

@ysap: O bağlantıları görmedim ve bunu nerede bulduğumu hatırlayamıyorum. Bunu dokümantasyon amacıyla buraya koyun ve süreçteki kaçış dizileri hakkında sorular sorun. :)
sjas

Yanıtlar:


1
export LESS_TERMCAP_md=$'\E[0;33;5;74m'  # begin bold
export LESS_TERMCAP_us=$'\E[0;36;5;146m' # begin underline

Bu iki durumda, tüm renkler ve nitelikler sıfırlanır (0), ön plan rengi sarı / kahverengi (33) veya camgöbeği (36) olarak değişir, ardından yanıp sönme açılır (5) ve sonra başka bir şey de olur ( 74 veya 146) bunlar muhtemelen tanımlanmamıştır ve istenmemektedir.

export LESS_TERMCAP_so=$'\E[38;5;246m'

Bu farklıdır, çünkü 38 ek sayısal parametreler alır. Genişletilmiş ön plan rengini temsil eder (ve benzer şekilde 48 arka plan için aynı olacaktır) ve ardından bir sonraki parametre olarak 5 gelirse (bu kez yanıp sönmeyle hiçbir ilgisi yoktur) üçüncü sayı rengin dizinini belirtir ( 0 ila 255: 16 standart eski renk, ardından 6x6x6 RGB küp ve ardından 24 gri tonlamalı renk), örneğin buraya bakın .

Bazı terminal emülatörleri de doğrudan rasgele RGB renklerini destekler, bu durumda 38'i 2 izlemeli ve ardından 0-255 aralığında R, G, B için üç ondalık sayı takip etmelidir, örn. # BADA55,

\E[38;2;186;218;85m

1
Hangisinin bir ;öncekinin ek parametrelerini ve hangilerinin kesin sayılara bakmadan yepyeni anlamına geldiğini bilemezsiniz . Bu nedenle ek parametrelerin :bunun yerine ayrılması önerildi . Örneğin, her şeyi sıfırlamak için # 246 rengine geçin ve 0;38;5;246;5söylemek yerine yanıp sönmeyi açın 0;38:5:246;5. Ne yazık ki daha az sayıda terminal tarafından destekleniyor.
egmont


1

Yardımıyla http://invisible-island.net/xterm/ctlseqs/ctlseqs.html ve wikipedia bağlantı O sonucuna vardım 5araçlarla 5 Blink: Slow less than 150 per minute.

Son sayılar şöyle görünür:

 If 88- or 256-color support is compiled, the following apply. 
 P s = 3 8 ; 5 ; P s  Set foreground color to the second P s . 
 P s = 4 8 ; 5 ; P s  Set background color to the second P s .

Ayrıca sayıların miktarının önemli olmadığı, sadece kronolojik sıralarının önemli olduğu görülmektedir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.