Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOS zsh提示符不显示紫色?_Macos_Zsh - Fatal编程技术网

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三元组。