显示属性是最常用的一个ANSI控制,可设置的项目包括
◆ 前景色(文本颜色)
◆ 背景色
◆ 高亮状态的设置
◆ 文本下划线
◆ 闪烁文本
◆ 反显
BBS上我们可以设置的颜色共有16种,其中8种低亮颜色,8种高亮颜色,
为了避免其他方面造成的影响,请大家先把终端软件的默认高亮等的设置关掉:
·cterm2000: 编辑>>系统设置>>高级,确认没选上总是高亮
·fterm : 选项>>参数设置,确认没有选上默认高亮
·sterm : 选项>>当前连接设置>>远程登录设置>>外观,确认没选上总是高亮
好,现在开始,先看一下下图:
设置显示属性 *[p1;p2;...;pnm
p1...pn 是一些整数含义见下, m 必须小写, * 是两下ESC打出来的,不是键盘上的*
0-关闭各显示属性 30 31 32 33 34 35 36 37
1- 高亮 颜色代码记忆法: 40 s s s s s s s s s s s s s s s s
4-下划线 ↗ 41 s s s s s s s s s s s s s s s s
5- 闪烁 ︳ 1= 红 2= 绿 4= 蓝 42 s s s s s s s s s s s s s s s s
7-反显 ︳ 3= 红+ 绿= 黄 43 s s s s s s s s s s s s s s s s
︳ 5= 红+ 蓝= 紫 44 s s s s s s s s s s s s s s s s
30~37设置前景色 _︳ 6= 绿+ 蓝= 青 45 s s s s s s s s s s s s s s s s
40~47设置背景色 7= 红+ 绿+ 蓝= 白 46 s s s s s s s s s s s s s s s s
0就是黑色 47 s s s s s s s s s s s s s s s s
*[m与 *[0m类似,都能关闭闪烁、下划线和反显,并恢复到默认前背景色
参数可连续设置: 如 *[0;1;5;32;46m 相当于 *[0m*[1m*[5m*[32m*[46m
30~37用来设置前景色,可以按上图记忆颜色,也可以直接背8种颜色对应:
*[30m 黑色
*[31m 红色
*[32m 绿色
*[33m 黄色
*[34m 蓝色
*[35m 紫色
*[36m 青色
*[37m暗白
要得到相应的高亮颜色,用*[1m,
*[1m*[31m与*[1;31m是一样的,一般用后者使得代码更短
背景色用40~47来设置,背景色都是低亮的,因此只有8种
*[5m闪烁,要注意的是一般来说一屏上闪烁的部分不要太多太集中
*[4m是下划线,
在cterm里面下划线一律是白色的,
而fterm或sterm里面下划线的颜色与相应位置文字的颜色相同
*[7m反显建议不要使用,各种终端软件对其的解释差别较大
cterm中是交换前背景,高亮一律只作用在前景
fterm中忽略前背景色,用白底黑字
sterm中交换前背景,而且会把高亮作用到背景色上,
因此sterm中可能出现高亮背景低亮前景的情况
*[0m与*[m两者差不多,关闭闪烁下划线反显,并恢复到默认前背景色
在水木或者紫霞等站两者一样
sterm对两者的解释也一样
在其他BBS,用cterm或fterm的人,*[0m一律恢复到低亮,
*[m则根据你的设置,恢复到默认的高低亮状态
如果是在水木、紫霞等站点,或者用的是sterm,
当设成了默认高亮时就得不到低亮的颜色
fterm,cterm中如果你的默认背景被设成了不同于黑色的另一种颜色
*[40m会切换到默认背景颜色而不是黑色,
sterm则可能切换到黑色
一般来说BBS里面一行代码的长度最多254个字符(一个中文字算两个字符),
对于活动看板等的,可能还有更严格的限制,允许的代码长度更短
因此有时候一定要使用尽量短的代码,重复的代码不要多次设置,例如:
*[0;32;41m红底绿字*[1;32;43m高亮黄底绿字*[5;1;31;43m高亮闪烁黄底红字
这行代码可以缩短为
*[0;32;41m红底绿字*[1;43m高亮黄底绿字*[5;31m高亮闪烁黄底红字
精简代码也是一门学问,这个就不在这里多谈了。
254个字符其实并不算多,一般一行是80个可见字符,
如果每个都切换一次颜色,设置前景色需要增加5个字符,
6*80=480,已经远远超出254了,
所以一行中颜色的变化还是受到一定限制的
除非到达屏幕底端,不然上一行末尾的显示属性会延续到下一行,这也是要注意的
◆ 前景色(文本颜色)
◆ 背景色
◆ 高亮状态的设置
◆ 文本下划线
◆ 闪烁文本
◆ 反显
BBS上我们可以设置的颜色共有16种,其中8种低亮颜色,8种高亮颜色,
为了避免其他方面造成的影响,请大家先把终端软件的默认高亮等的设置关掉:
·cterm2000: 编辑>>系统设置>>高级,确认没选上总是高亮
·fterm : 选项>>参数设置,确认没有选上默认高亮
·sterm : 选项>>当前连接设置>>远程登录设置>>外观,确认没选上总是高亮
好,现在开始,先看一下下图:
设置显示属性 *[p1;p2;...;pnm
p1...pn 是一些整数含义见下, m 必须小写, * 是两下ESC打出来的,不是键盘上的*
0-关闭各显示属性 30 31 32 33 34 35 36 37
1- 高亮 颜色代码记忆法: 40 s s s s s s s s s s s s s s s s
4-下划线 ↗ 41 s s s s s s s s s s s s s s s s
5- 闪烁 ︳ 1= 红 2= 绿 4= 蓝 42 s s s s s s s s s s s s s s s s
7-反显 ︳ 3= 红+ 绿= 黄 43 s s s s s s s s s s s s s s s s
︳ 5= 红+ 蓝= 紫 44 s s s s s s s s s s s s s s s s
30~37设置前景色 _︳ 6= 绿+ 蓝= 青 45 s s s s s s s s s s s s s s s s
40~47设置背景色 7= 红+ 绿+ 蓝= 白 46 s s s s s s s s s s s s s s s s
0就是黑色 47 s s s s s s s s s s s s s s s s
*[m与 *[0m类似,都能关闭闪烁、下划线和反显,并恢复到默认前背景色
参数可连续设置: 如 *[0;1;5;32;46m 相当于 *[0m*[1m*[5m*[32m*[46m
30~37用来设置前景色,可以按上图记忆颜色,也可以直接背8种颜色对应:
*[30m 黑色
*[31m 红色
*[32m 绿色
*[33m 黄色
*[34m 蓝色
*[35m 紫色
*[36m 青色
*[37m暗白
要得到相应的高亮颜色,用*[1m,
*[1m*[31m与*[1;31m是一样的,一般用后者使得代码更短
背景色用40~47来设置,背景色都是低亮的,因此只有8种
*[5m闪烁,要注意的是一般来说一屏上闪烁的部分不要太多太集中
*[4m是下划线,
在cterm里面下划线一律是白色的,
而fterm或sterm里面下划线的颜色与相应位置文字的颜色相同
*[7m反显建议不要使用,各种终端软件对其的解释差别较大
cterm中是交换前背景,高亮一律只作用在前景
fterm中忽略前背景色,用白底黑字
sterm中交换前背景,而且会把高亮作用到背景色上,
因此sterm中可能出现高亮背景低亮前景的情况
*[0m与*[m两者差不多,关闭闪烁下划线反显,并恢复到默认前背景色
在水木或者紫霞等站两者一样
sterm对两者的解释也一样
在其他BBS,用cterm或fterm的人,*[0m一律恢复到低亮,
*[m则根据你的设置,恢复到默认的高低亮状态
如果是在水木、紫霞等站点,或者用的是sterm,
当设成了默认高亮时就得不到低亮的颜色
fterm,cterm中如果你的默认背景被设成了不同于黑色的另一种颜色
*[40m会切换到默认背景颜色而不是黑色,
sterm则可能切换到黑色
一般来说BBS里面一行代码的长度最多254个字符(一个中文字算两个字符),
对于活动看板等的,可能还有更严格的限制,允许的代码长度更短
因此有时候一定要使用尽量短的代码,重复的代码不要多次设置,例如:
*[0;32;41m红底绿字*[1;32;43m高亮黄底绿字*[5;1;31;43m高亮闪烁黄底红字
这行代码可以缩短为
*[0;32;41m红底绿字*[1;43m高亮黄底绿字*[5;31m高亮闪烁黄底红字
精简代码也是一门学问,这个就不在这里多谈了。
254个字符其实并不算多,一般一行是80个可见字符,
如果每个都切换一次颜色,设置前景色需要增加5个字符,
6*80=480,已经远远超出254了,
所以一行中颜色的变化还是受到一定限制的
除非到达屏幕底端,不然上一行末尾的显示属性会延续到下一行,这也是要注意的
--
fterm,cterm中如果你的默认背景被设成了不同于黑色的另一种颜色
*[40m会切换到默认背景颜色而不是黑色,
sterm则可能切换到黑色
一般来说BBS里面一行代码的长度最多254个字符(一个中文字算两个字符),
对于活动看板等的,可能还有更严格的限制,允许的代码长度更短
因此有时候一定要使用尽量短的代码,重复的代码不要多次设置,例如:
*[0;32;41m红底绿字*[1;32;43m高亮黄底绿字*[5;1;31;43m高亮闪烁黄底红字
这行代码可以缩短为
*[0;32;41m红底绿字*[1;43m高亮黄底绿字*[5;31m高亮闪烁黄底红字
精简代码也是一门学问,这个就不在这里多谈了。
254个字符其实并不算多,一般一行是80个可见字符,
如果每个都切换一次颜色,设置前景色需要增加5个字符,
6*80=480,已经远远超出254了,
所以一行中颜色的变化还是受到一定限制的
除非到达屏幕底端,不然上一行末尾的显示属性会延续到下一行,这也是要注意的
fterm,cterm中如果你的默认背景被设成了不同于黑色的另一种颜色
*[40m会切换到默认背景颜色而不是黑色,
sterm则可能切换到黑色
一般来说BBS里面一行代码的长度最多254个字符(一个中文字算两个字符),
对于活动看板等的,可能还有更严格的限制,允许的代码长度更短
因此有时候一定要使用尽量短的代码,重复的代码不要多次设置,例如:
*[0;32;41m红底绿字*[1;32;43m高亮黄底绿字*[5;1;31;43m高亮闪烁黄底红字
这行代码可以缩短为
*[0;32;41m红底绿字*[1;43m高亮黄底绿字*[5;31m高亮闪烁黄底红字
精简代码也是一门学问,这个就不在这里多谈了。
254个字符其实并不算多,一般一行是80个可见字符,
如果每个都切换一次颜色,设置前景色需要增加5个字符,
6*80=480,已经远远超出254了,
所以一行中颜色的变化还是受到一定限制的
除非到达屏幕底端,不然上一行末尾的显示属性会延续到下一行,这也是要注意的