bash:彩色手册页


15

我必须在系统中的哪些位置查看以对手册页进行着色?

手册页的显示较少,因此我尝试在.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

有人可以进一步澄清吗?


接近票数是什么?我以前知道维基百科链接,但我仍然不知道序列的顺序是什么意思。反复试验和设置不同的值根本没有帮助。一个简单的“去RTFM”对我没有帮助。
sjas 2012年

你一定是在跟我开玩笑...这太好了!这些东西在哪里记录?我查看了BASH和LESS手册页,但找不到LESS_TERMCAP字符串。
ysap 2013年

好吧,找到适合初学者的东西:unix.stackexchange.com/questions/119/colors-in-man-pages
ysap 2013年

这:“ for name [ [ in [ word ... ] ] ; ] do list ; done”现在在颜色上更有意义... 8
ysap

@ysap:尚未看到该链接,并且不记得我在哪里找到它。出于文档目的将其放在此处,并询问该过程中的转义序列。:)
sjas 2013年

Answers:


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种标准旧色,然后是6x6x6 RGB多维数据集,然后是24种灰度颜色),请参见此处

某些终端仿真器还支持直接的任意RGB颜色,在这种情况下,R,G,B分别应在38后面跟2,然后在0-255范围内跟三个十进制数字,例如#BADA55是

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

1
很遗憾,您不知道;确切的数字就无法知道哪个代表前一个参数的附加参数,哪个代表全新的参数。因此,建议将其他参数:替换为“ a” 。例如,要重置所有内容,然后切换为颜色#246,并同时启用闪烁,而不是0;38;5;246;5您说的那样0;38:5:246;5。不幸的是,更少的终端支持它。
egmont 2015年


1

借助于http://invisible-island.net/xterm/ctlseqs/ctlseqs.html和Wikipedia链接,我得出的结论55 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 .

同样,数字的数量似乎并不重要,只是它们的时间顺序。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.