如何在 zsh 中使用十六进制颜色代码?

如何在 zsh 中使用十六进制颜色代码?

我有我的外壳的颜色配置

PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

如何使用十六进制颜色代码?

答案1

我不认为您可以在 zsh 或任何 shell 中使用十六进制颜色代码。据我所知,标准 Linux 终端只能显示某些预定义的颜色。考虑到这一点,我怀疑十六进制颜色代码是否已编码到 zsh 中,甚至可能没有,因为这会迫使您的终端/tty 使用非标准颜色,其中一些颜色可能无法使用。

答案2

没错,您不能使用十六进制颜色。只有 8 种可用颜色:

30 - black
31 - red
32 - green
33 - yellow
34 - blue
35 - magenta
36 - cyan
37 - white

但是您可以在终端首选项中更改这些颜色名称所代表的颜色。

答案3

其他答案都是错误的。我在 zsh 提示符中使用十六进制颜色代码。试试这个(参考这里):

PS1="%B%F{#50F862}%n@%m%f%b:%B%F{#625EF6}%~ %#%f%b "

据我所知,在输出中无法使用十六进制颜色,但可以在提示中使用。我还没有能够在会话中让这个十六进制颜色提示工作screen,所以我可能不会鼓励你要这样做 - 但你做吧!

相关内容