我正在定制我的ZSH提示,但我似乎无法使用转义序列告诉Konsole使用粗体文本或特定的RGB颜色。
我知道ZSH中的内置格式化选项,如%F{000} %f
,但据我所知,这些选项只允许访问默认值(红色,蓝色等)和256色调色板。虽然%B %b
是粗体的内置选项,但它似乎仅限于一种颜色。
我希望能够使用所有RGB颜色为提示的特定部分着色和/或使其变为粗体。根据我的发现,这样的事情应该有效:
PS1="%{\e[38;0;255;0;255m%}%M >:%{\e[0m%}"
这应该给我一个像这样的粉红色提示:
HOSTNAME >:
但我得到的是:
\e[38;0;255;0;255mHOSTNAME >:\e[0m
我尝试了不同的转义序列,例如\033
\x1b
,但似乎没有任何效果。
那么,如何在ZSH提示中正确使用转义序列?
具体细节:
OpenSUSE Tumbleweed KDE
Konsole --version 16.12.0(键盘:XFree 4)
ZSH - 版本5.3
答案 0 :(得分:3)
您需要更改字符串,以便zsh正确评估它们。
尝试更改:
PS1="%{\e[38;0;255;0;255m%}%M >:%{\e[0m%}"
要:
PS1=$'%{\e[38;0;255;0;255m%}%M >:%{\e[0m%}'
请注意从"
到'
引号的变化以及前缀$
有关替换的更多信息,请参阅http://zsh.sourceforge.net/Guide/zshguide05.html。