代码^[[00;00m
意味着将颜色重置为默认颜色,但是,在某些程序中(例如源荧光笔highlight
),代码^[[m
的使用方式似乎也会达到相同的目的。ANSI对这样的代码以及类似的^[[0m
有什么规定?
发布于 2015-09-17 12:54:01
在这种情况下,"ANSI"很久以前就被http://www.ecma-international.org/publications/standards/Ecma-048.htm淘汰了。因此,适当的起点是那份文件。
节8.3.117 SGR -选择图形渲染
Notation: (Ps...)
Representation: CSI Ps... 06/13
Parameter default value: Ps = 0
SGR用于为后续文本建立一个或多个图形呈现方面。根据图形渲染组合模式(GRCM)的设置,所建立的方面将一直有效,直到下一次SGR出现在数据流中。每个图形渲染方面都由一个参数值指定: 0 默认呈现(实现-定义),取消任何先前出现的SGR在数据流中的影响,而不管图形渲染组合模式(GRCM)的设置如何。
也就是说,如果不给出任何参数,则0
是默认参数(因此^[[m
和^[[0m
的含义相同。重复这个参数也没有什么区别(取消已经取消的东西并不会取消它),所以^[[00;00m
仍然意味着同样的事情。
https://stackoverflow.com/questions/32630358
复制相似问题