MacOS zsh 提示不显示紫色?
MacOS zsh prompt does not show Purple?
我想让我的 git branch
变成紫色。这是我拥有的:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/()/'
# git symbolic-ref --short HEAD 2> /dev/null
}
setopt PROMPT_SUBST
PS1='%{%F{green}%}%n@%m:%{%F{yellow}%}%1~%{%F{red}%}$(parse_git_branch)%{%F{none}%}$ '
所以我的 username@machine:
是绿色的,foldername
是黄色的。但是,如果我将颜色 red
更改为 purple
或除 white
或 cyan
之外的任何其他颜色,我的提示不会显示正确的颜色。
仅供参考:这是我在 bash
中的内容:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/()/'
}
export PS1="\[3[0;32m\]\u@\h\[3[00m\]:\[3[0;33m\]\W\[3[0;35m\]$(parse_git_branch)\[3[00m\]$ "
我试过:
for i in {1..256}; do print -P "%F{$i}Color : $i"; done;
并且我的终端显示所有颜色范围所以我用一些 ANSI 代码替换了 red
但分支变成了 cyan
.
\e[0;31m$ \e[0m
使用 ANSI 转义字符,但它仍然不起作用。
$F{}
、$fg{}
等
- 当然退出终端,获取
~/.zshrc
文件,重新启动计算机。
我错过了什么?
对于 %F{...}
,您可以使用以下之一:
与终端调色板中的条目相对应的整数(范围取决于该调色板的大小)。这就是您在 for
循环中看到的(尽管您也可以使用 i=0
;请参阅下一点)。例如。 %F{red}
预定义名称之一 black
、red
、green
、yellow
、blue
、magenta
、cyan
或 white
(分别对应于调色板条目 0 到 7)。例如。 %F{1}
(请注意,某些终端可能支持其他名称。)
一个 RGB 值,以 #
开头,后跟 3 或 6 个十六进制数字。例如。 %F{#f00}
或 %F{#ff0000}`
假设您的终端允许,这使您可以更好地控制显示的颜色,因为 %F{red}
和 %F{1}
都只是告诉终端显示颜色 #1(终端仿真器可能允许设置为用户喜欢的任何颜色)。另一方面,%F{#ff0000}
将 始终 显示最亮的红色阴影。
我想让我的 git branch
变成紫色。这是我拥有的:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/()/'
# git symbolic-ref --short HEAD 2> /dev/null
}
setopt PROMPT_SUBST
PS1='%{%F{green}%}%n@%m:%{%F{yellow}%}%1~%{%F{red}%}$(parse_git_branch)%{%F{none}%}$ '
所以我的 username@machine:
是绿色的,foldername
是黄色的。但是,如果我将颜色 red
更改为 purple
或除 white
或 cyan
之外的任何其他颜色,我的提示不会显示正确的颜色。
仅供参考:这是我在 bash
中的内容:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/()/'
}
export PS1="\[3[0;32m\]\u@\h\[3[00m\]:\[3[0;33m\]\W\[3[0;35m\]$(parse_git_branch)\[3[00m\]$ "
我试过:
for i in {1..256}; do print -P "%F{$i}Color : $i"; done;
并且我的终端显示所有颜色范围所以我用一些 ANSI 代码替换了red
但分支变成了cyan
.\e[0;31m$ \e[0m
使用 ANSI 转义字符,但它仍然不起作用。$F{}
、$fg{}
等- 当然退出终端,获取
~/.zshrc
文件,重新启动计算机。
我错过了什么?
对于 %F{...}
,您可以使用以下之一:
与终端调色板中的条目相对应的整数(范围取决于该调色板的大小)。这就是您在
for
循环中看到的(尽管您也可以使用i=0
;请参阅下一点)。例如。%F{red}
预定义名称之一
black
、red
、green
、yellow
、blue
、magenta
、cyan
或white
(分别对应于调色板条目 0 到 7)。例如。%F{1}
(请注意,某些终端可能支持其他名称。)一个 RGB 值,以
#
开头,后跟 3 或 6 个十六进制数字。例如。%F{#f00}
或 %F{#ff0000}`假设您的终端允许,这使您可以更好地控制显示的颜色,因为
%F{red}
和%F{1}
都只是告诉终端显示颜色 #1(终端仿真器可能允许设置为用户喜欢的任何颜色)。另一方面,%F{#ff0000}
将 始终 显示最亮的红色阴影。