我可以使用%k
(背景)或%f
(前景)轻松切换回终端默认着色方案。还可以选择使用%K(default)
或%F(default)
来生成相同的结果。
如何将前景色更改为默认背景色?如果没有完全命名颜色代码,这甚至可能吗?
用法示例:正确着色面向左侧的电力线分隔符:⮂。 (左侧是背景色,右侧是前景色)
答案 0 :(得分:2)
您可以使用杰出模式 %S (%s)
切换前景色和背景色。
为了以默认背景颜色打印某些内容,您只需将背景颜色设置为默认值,将前景色设置为您想要的任何背景颜色,并启用突出显示模式。
示例:
print -P $' unchanged output colors'
print -P $'%f%k default colors %S standout mode %s'
print -P $'%F{blue}%K{red} blue on red %f%k'
print -P $'%S%F{blue}%K{red} red on blue %s blue on red %f%k'
print -P $'%K{default}%F{blue}%Sdefault background on blue %s%f%k'
print -P $'%K{red}%F{default}%S red on default foreground %f%k%s'
正如您所看到的,设置颜色和模式(粗体和下划线模式的工作原理)的顺序无关紧要。您可以在使用%F{color}
开始杰出模式之前或之后使用%S
设置前景色,它仅用作%S
之后的背景,直到您停止杰出模式 %s
。