我正在编写一个需要输出样式文本的控制台程序。现在我使用固定的 ANSI 转义码作为前景色和背景色、粗体和下划线。例如,我可以编写\033[35m
将前景色更改为紫色。
自己编写代码的好处是我可以将它们链接起来。我可以使用一个命令更改背景颜色和前景色,从而节省宝贵的字节:
\033[48;5;200;38;5;100m
我想改用 terminfo 库来使我的程序在其他类型的终端上工作。但是,我找不到一次更新多种颜色的方法 - 我想设置粗体和下划线以及\033
只有一种且只有一种的颜色m
。
标准中列出了以下命令,但不仅这些命令似乎都没有做我想要的,我实际上无法找到第一组和第二组视频属性实际上是什么:
- set_a_attributes:定义第二组视频属性#1-#6
- set_a_background:使用 ANSI 转义将背景颜色设置为 #1
- set_a_foreground:使用 ANSI 转义将前景色设置为 #1
- set_attributes:定义第一组视频属性#1-#9
terminfo
有没有办法只使用命令来获得我想要的东西?提前致谢。