zsh ansi颜色代码如何工作?

问题描述

| 我想在终端中将主机名设为橙色。我怎么做?     

解决方法

        首先,我不确定您使用的是哪个终端,或者它是否支持橙色。我的支持以下内容:红色,蓝色,绿色,青色,黄色,品红色,黑​​色和白色。这是我如何在终端中获取颜色: 您需要先使用
autoload
加载颜色。我使用以下方法加载颜色并将其分配给有意义的名称
#load colors
autoload colors && colors
for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do
    eval $COLOR=\'%{$fg_no_bold[${(L)COLOR}]%}\'  #wrap colours between %{ %} to avoid weird gaps in autocomplete
    eval BOLD_$COLOR=\'%{$fg_bold[${(L)COLOR}]%}\'
done
eval RESET=\'%{$reset_color%}\'
您可以使用
%m
字符串在提示符下设置主机名。所以要设置一个红色的主机名,
${RED}%m${WHITE}\\>
它会打印类似
bneil.so>
    ,        在终端中运行以下代码将告诉您终端是否支持256色。
for COLOR in {0..255} 
do
    for STYLE in \"38;5\"
    do 
        TAG=\"\\033[${STYLE};${COLOR}m\"
        STR=\"${STYLE};${COLOR}\"
        echo -ne \"${TAG}${STR}${NONE}  \"
    done
    echo
done
它还以
38;5;x
的形式显示每种颜色的代码,其中
x
是256种可用颜色之一的代码。 另外,请注意将
\"38;5\"
更改为
\"48;5\"
将为您显示等效的背景色。然后,您可以使用任何您喜欢的颜色来组成提示,如前所述。     ,        如果您熟悉自定义zsh提示的想法,但是在颜色代码方面遇到麻烦,则您的问题并不清楚。 互联网上有很多信息。这里有两个链接: http://www.zshwiki.org/home/config/prompt http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/ 它们应涵盖自定义提示和使用颜色代码分配颜色。     ,        打印
<ESC>[33mHostname<ESC>[0m
作为转义符\\ x1b