我在 MacOS 上运行 Zsh 5.2,在 Terminal.app 中运行,并将 TERM 设置为xterm-256color
。
在设置 PROMPT 样式时,我发现在此 Zsh 版本中, a%b
取消了前一个 的效果%K
。请考虑以下示例:
print -P '12%K{green}34%B56%b78%k90'
这只会打印带有绿色背景的 3456,而不是我预期的 345678。
如果我将 %B...%b 替换为 %U...%u 或 %S...%s,345678 将获得绿色背景。似乎只有 %b 隐式地取消了 %K 的效果。
有人能解释一下为什么会这样吗?
答案1
这是一个错误zsh 5.2。此提交已修复
commit e87aa8941fd7e13b039bf4d1664c6dc39a09313a
Author: Oliver Kiddle <[email protected]>
Date: Fri Jul 8 22:28:15 2016 +0200
38809: fix tracking of colour attributes and restore them when turning bold off
并入zsh 5.3。