gpt4 book ai didi

linux - "%{\033[0m%}"(代码零)是否将字体颜色重置为 "tput setaf"或 Xterm 默认颜色?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:08 26 4
gpt4 key购买 nike

我知道您可以使用转义序列 %{\033[0m%}(代码零)将提示的颜色改回“默认”颜色(通常在提示之后) .

但是用于此的“默认值”是什么?

  1. 终端程序本身的默认颜色?
  2. 通过 tput setaf $COLOR 设置默认颜色,假设您使用它来设置不同于终端默认颜色的字体颜色?
  3. 还有吗?

最佳答案

它是依赖于终端的,但就现有实践而言,它必须是前者:

  1. 终端(程序)的默认颜色。

另一个建议的选择是不正确的,因为 tput setaf 没有设置“默认颜色”,而是设置“当前颜色”。 tput setaf 的任何选择是否对应于终端的默认颜色(最多)是特定于终端的,因为没有任何相关标准。

ECMA 48 对 SGR 0(问题中提到的内容)和 SGR 30-37 进行了简洁(一行)描述40-47(通常用于 tput 将使用的终端描述的 setaf/setab 选择)。

还有另一种可能的选择,即 tput op(选择原始的颜色对),它在多个终端描述中用于发送 SGR 3949。同样,这是特定于终端的,它与 SGR 0 的关系未被任何标准涵盖。这些恰好对 xterm 和 Linux 控制台使用相同的“默认颜色”,但是(阅读 ECMA-48)该标准没有给出关于“默认颜色”和缺少“视频属性”的详细信息。

进一步阅读:

关于linux - "%{\033[0m%}"(代码零)是否将字体颜色重置为 "tput setaf"或 Xterm 默认颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48466956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com