MacOS zsh提示符不显示紫色?
我正在尝试将我的MacOS zsh提示符不显示紫色?,macos,zsh,Macos,Zsh,我正在尝试将我的git分支变成紫色。以下是我所拥有的: parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' # git symbolic-ref --short HEAD 2> /dev/null } setopt PROMPT_SUBST PS1='%{%F{green}%}%n@%m:%{%F{yellow}%}%1~%{%F{red}%}$
git分支变成紫色。以下是我所拥有的:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
# 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
按预期显示为黄色。但是,如果我将颜色红色
更改为紫色
或除白色
或青色
以外的任何其他颜色,则我的提示不会显示正确的颜色
仅供参考:以下是我在bash
中的内容:
parse_git_branch(){
git branch 2>/dev/null | sed-e'/^[^*]/d'-e's/*\(.*)/(\1)/'
}
导出PS1=“\[\033[0;32m\]\u@\h\[\033[00m\]:\[\033[0;33m\]\W\[\033[0;35m\]\$(解析git\u分支)\[\033[00m\]\$”
我试过:
for i in{1..256};do print-P“%F{$i}Color:$i”;done;
我的终端显示所有颜色范围,因此我用一些ANSI代码替换了红色
,但分支变为青色
- 带有ANSI转义字符的
\e[0;3100万$\e[0m
,但仍然不起作用
$F{}
,$fg{}
等
- 当然,退出终端,获取
~/.zshrc
文件,重新启动计算机
我缺少什么?使用%F{…}
,您可以使用以下选项之一:
与终端调色板中的条目相对应的整数(范围取决于该调色板的大小)。这是您在for
循环中看到的(尽管您也可以使用i=0
,请参见下一点)。例如%F{red}
预定义的名称之一为黑色
,红色
,绿色
,黄色
,蓝色
,洋红色
,青色
,或白色
(分别对应于调色板条目0到7)。例如%F{1}
(注意,一些终端可能支持其他名称。)
RGB值,以#
开头,后跟3或6个十六进制数字。例如%F{f00}
或%F{ff0000}`
假设您的终端允许,这将为您提供对显示颜色的更多控制,因为%F{red}
和%F{1}
只需告诉终端显示颜色#1(终端仿真器允许将其设置为用户喜欢的任何颜色)。%F{ff0000}
,另一方面,将始终显示可用的最亮的红色阴影
使用%F{…}
,您可以使用以下选项之一:
与终端调色板中的条目相对应的整数(范围取决于该调色板的大小)。这是您在for
循环中看到的(尽管您也可以使用i=0
,请参见下一点)。例如%F{red}
预定义的名称之一为黑色
,红色
,绿色
,黄色
,蓝色
,洋红色
,青色
,或白色
(分别对应于调色板条目0到7)。例如%F{1}
(注意,一些终端可能支持其他名称。)
RGB值,以#
开头,后跟3或6个十六进制数字。例如%F{f00}
或%F{ff0000}`
假设您的终端允许,这将为您提供对显示颜色的更多控制,因为%F{red}
和%F{1}
只需告诉终端显示颜色#1(终端仿真器允许将其设置为用户喜欢的任何颜色)。%F{ff0000}
,另一方面,将始终显示可用的最亮的红色阴影
parse_git_branch
的输出是什么?它是否可能包含显式设置青色的代码?以及%}
的目的是什么?我在提示符配置中不使用它。您可以看到parse_git_branch()的输出代码中的函数。它只显示git分支。不,它没有像我在bash
中那样设置颜色purple
不是已知的颜色;使用magenta
代替。唯一预定义的颜色名称是黑色、红色、绿色、黄色、蓝色、洋红、青色和白色。对于其他颜色,您需要指定颜色编号(对应于终端的调色板)或RGB三元组。parse\u git\u branch
的输出是什么?它是否可能包含显式设置青色的代码?以及%}
的目的是什么?我在提示符配置中不使用它。您可以看到parse\u git\u branch()的输出代码中的函数。它只显示git分支。不,它没有像我在bash
中那样设置颜色purple
不是已知的颜色;使用magenta
代替。唯一预定义的颜色名称是黑色、红色、绿色、黄色、蓝色、洋红、青色和白色。对于其他颜色,您需要指定颜色编号(对应于终端的调色板)或RGB三元组。