有趣的linux下的表达方式vt100

现在都是华丽的视窗操作系统的年代了,大家很难想象当年在纯shell环境下的界面效果该如何表达,使用linux的小伙伴可能有意无意的会发现在shell中的命令行和文字的交互中会出现,反显,红色,或者高亮的句子,提示符等,这样可以更鲜艳的在shell下表达信息,使不同信息层次分明的区别开来。

这个使不同字符串以不一样的颜色和状态显示的控制码叫VT100 escape codes,又叫VT100终端编码。

VT100终端编码

使用方法

在C中,

1
2
3
4
5
6
7
#include<stdio.h>
int main(){
printf("\x1B[7m helloword! \033[0m");//反显helloworld
return 0;
}
1
2
或者直接在shell下:
printf("\x1B[7m helloword! \033[0m")

当VT100和C语言结合起来,就可以写出很多丰富多彩的程序,

比如

  • 一个局域网的shell下的聊天室,每个人的聊天语言都可以使用不同的控制码实现不同的颜色。
  • 软件中的互动语句可以使用不同颜色在进行分级,比如 error为红色语句,waring为黄色

常见的VT100控制码:

\033[0m 关闭所有属性

​ \033[1m 设置高亮度

​ \033[4m 下划线

​ \033[5m 闪烁

​ \033[7m 反显

​ \033[8m 消隐

​ \033[30m – \033[37m 设置前景色

​ \033[40m – \033[47m 设置背景色

​ \033[nA 光标上移n 行

​ \033[nB 光标下移n 行

​ \033[nC 光标右移n 行

​ \033[nD 光标左移n 行

​ \033[y;xH设置光标位置

​ \033[2J 清屏

​ \033[K 清除从光标到行尾的内容

​ \033[s 保存光标位置

​ \033[u 恢复光标位置

​ \033[?25l 隐藏光标

​ \033[?25h 显示光标

VT100 关于颜色的说明.
VT100 的颜色输出分为,注意要同时输出前景的字符颜色和背景颜色。

字背景颜色范围:40—-49

​ 40:黑

​ 41:深红

​ 42:绿

​ 43:黄色

​ 44:蓝色

​ 45:紫色

​ 46:深绿

​ 47:白色

​ 字颜色:30———–39

​ 30:黑

​ 31:红

​ 32:绿

​ 33:黄

​ 34:蓝色

​ 35:紫色

​ 36:深绿

​ 37:白色

坚持原创技术分享,您的支持将鼓励我继续创作!