bash: кольорова сторінка man


15

Де мені слід поглянути на систему, щоб забарвити сторінки чоловіка?

Сторінки "man" переглядаються менше, тому я спробував додати наступні рядки до свого .bashrc, щоб змінити кольори: (Що добре працює, 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
 #########################################

На жаль, я мушу визнати, що я не дізнався, що означає друга пара чисел, тобто 5;74та 5;146.

Хтось може уточнити це далі?


Що це з близькими голосами? Я знав посилання на вікіпедію раніше і досі не маю поняття, що означає порядок послідовності. Пробні помилки та встановлення різних значень мені зовсім не допомогли. Простий "go RTFM" тут мені не допомагає.
sjas

Ви мусите жартувати ... це просто чудово! Де цей документ задокументований? Я переглянув сторінки BASH та LESS, але не зміг знайти рядок LESS_TERMCAP.
ysap

Добре, знайшли це для початківців: unix.stackexchange.com/questions/119/colors-in-man-pages
ysap

Це: " for name [ [ in [ word ... ] ] ; ] do list ; done" має більше сенсу зараз, у кольорі ... 8-)
ysap

@ysap: Я не бачив цих посилань і не можу згадати, де я це знайшов. Помістіть це сюди для цілей документації та запитайте про послідовності втечі в процесі. :)
sjas

Відповіді:


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

У цих двох випадках усі кольори та атрибути скидаються (0), колір переднього плану перемикається на жовтий / коричневий (33) або блакитний (36), потім блимає увімкнено (5), а потім теж відбувається щось інше ( 74 або 146), які, ймовірно, не визначені та не бажані.

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

Це інше, тому що 38 приймає додаткові числові параметри. Він позначає розширений колір переднього плану (і аналогічно 48 буде однаковим для тла), і якщо наступний параметр буде 5, що не має нічого спільного з морганням цього разу, третє число визначає індекс кольору ( від 0 до 255: 16 стандартних кольорів, а потім куб RGB 6x6x6, а потім 24 кольори відтінків сірого), дивіться, наприклад, тут .

Деякі емулятори кінцевих терміналів також підтримують прямі довільні кольори RGB, у цьому випадку 38 повинні супроводжуватися 2, а потім трьома десятковими числами в діапазоні 0-255 для R, G, B відповідно, наприклад # BADA55 є

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

1
Це зовсім погано, що ви не можете знати, що ;означає додаткові параметри попереднього, а яке - нове, не дивлячись на точні цифри. Тож рекомендувалось, щоб додаткові параметри були розділені :замість цього. Наприклад, щоб скинути все, потім перейдіть до кольору №246, а також увімкніть блимання, замість того, 0;38;5;246;5щоб сказати 0;38:5:246;5. На жаль, це підтримується ще меншою кількістю терміналів.
Егмонт


1

За допомогою http://invisible-island.net/xterm/ctlseqs/ctlseqs.html та посилання wikipedia я прийшов до висновку, що 5означає 5 Blink: Slow less than 150 per minute.

Останні цифри звучать так:

 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 .

Також здається, що кількість чисел не важлива, а лише їх хронологічний порядок.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.