簡體   English   中英

“%{\\ 033 [0m%}”(代碼零)是否將字體顏色重置為“ tput setaf”或Xterm默認顏色?

[英]Does “%{\033[0m%}” (code zero) reset the font color to “tput setaf” or to Xterm default color?

我知道您可以使用轉義序列%{\\033[0m%} (代碼零)將提示的顏色更改回“默認”顏色(通常在提示之后)。

但是,為此使用的“默認”是什么?

  1. 終端程序本身的默認顏色?
  2. 通過tput setaf $COLOR設置的默認顏色,假設您使用它來設置與終端的默認顏色不同的字體顏色?
  3. 其他?

它取決於終端,但就現有實踐而言,必須是前者:

  1. 終端(程序)的默認顏色。

另一個建議的選擇將是不正確的,因為tput setaf不會設置“默認顏色”,而是設置“當前顏色”。 tput setaf任何選擇是否對應於終端的默認顏色(最多)是特定於終端的,因為沒有一種或另一種相關標准。

ECMA 48給出簡潔(一行)的描述SGR 0 (這是什么問題中提及),和SGR 30-3740-47 (在setaf / SETAB選擇通常用於該tput的將使用終端描述)。

還有另一種可能的選擇,即tput op (選擇原始顏色對 ),它在多個終端描述中用於發送SGR 3949 同樣,這是特定於終端的,並且它與SGR 0關系未包含在任何標准中。 它們恰好在xterm和Linux控制台上使用相同的“默認顏色”,但是(請閱讀ECMA-48)該標准並未提供有關“默認顏色”和缺少“視頻屬性”的詳細程度。

進一步閱讀:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM