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.