[英]Does “%{\033[0m%}” (code zero) reset the font color to “tput setaf” or to Xterm default color?
我知道您可以使用轉義序列%{\\033[0m%}
(代碼零)將提示的顏色更改回“默認”顏色(通常在提示之后)。
但是,為此使用的“默認”是什么?
tput setaf $COLOR
設置的默認顏色,假設您使用它來設置與終端的默認顏色不同的字體顏色? 它取決於終端,但就現有實踐而言,必須是前者:
另一個建議的選擇將是不正確的,因為tput setaf
不會設置“默認顏色”,而是設置“當前顏色”。 tput setaf
任何選擇是否對應於終端的默認顏色(最多)是特定於終端的,因為沒有一種或另一種相關標准。
ECMA 48給出簡潔(一行)的描述SGR 0
(這是什么問題中提及),和SGR 30-37
, 40-47
(在setaf / SETAB選擇通常用於該tput的將使用終端描述)。
還有另一種可能的選擇,即tput op
(選擇原始顏色對 ),它在多個終端描述中用於發送SGR 39
和49
。 同樣,這是特定於終端的,並且它與SGR 0
關系未包含在任何標准中。 它們恰好在xterm和Linux控制台上使用相同的“默認顏色”,但是(請閱讀ECMA-48)該標准並未提供有關“默認顏色”和缺少“視頻屬性”的詳細程度。
進一步閱讀:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.