zsh(256colors):默认背景颜色为前景色

时间:2014-06-12 15:30:02

标签: colors zsh zshrc vim-powerline

我可以使用%k(背景)或%f(前景)轻松切换回终端默认着色方案。还可以选择使用%K(default)%F(default)来生成相同的结果。

如何将前景色更改为默认背景色?如果没有完全命名颜色代码,这甚至可能吗?

用法示例:正确着色面向左侧的电力线分隔符:⮂。 (左侧是背景色,右侧是前景色)

1 个答案:

答案 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