bash: раскрашенная страница руководства
Где мне нужно взглянуть в системе, чтобы раскрасить страницы руководства?
Страницы man просматриваются с меньшими затратами, поэтому я попытался добавить следующие строки в свой.bashrc, чтобы изменить цвета: (что, впрочем, работает нормально).
#
# 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
,
Может кто-то прояснить это дальше?
4 ответа
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 стандартных унаследованных цветов, за которыми следует куб 6x6x6 RGB, а затем 24 оттенка серого), см., например, здесь.
Некоторые терминальные эмуляторы также поддерживают прямые произвольные цвета RGB, в этом случае за 38 должны следовать 2, а затем три десятичных числа в диапазоне 0-255 для R, G, B соответственно, например, #BADA55 is
\E[38;2;186;218;85m
"\e[...m" - это код SGR CSI. На странице Википедии в разделе "Экранирующий код ANSI", раздел "Коды CSI", описаны их.
С помощью http://invisible-island.net/xterm/ctlseqs/ctlseqs.html и ссылки на Википедию я пришел к выводу, что 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 .
Также кажется, что количество чисел не важно, просто их хронологический порядок.
Не совсем решение Bash, но все еще актуально, используйте:
Пейджер =~/bin/vimpager
и поместите это в ~ / bin: https://github.com/rkitover/vimpager