Как работают цветовые коды Zsh ANSI? - PullRequest
20 голосов
/ 28 мая 2011

Я хочу сделать мое имя хоста в моем терминале оранжевым.Как мне это сделать?

Ответы [ 4 ]

28 голосов
/ 27 мая 2013

Запуск следующего кода в вашем терминале должен сказать вам, поддерживает ли ваш терминал 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" покажет вам эквивалент цвета фона.Затем вы можете использовать любые цвета, которые вам нравятся, чтобы создать подсказку, как упоминалось ранее.

14 голосов
/ 28 мая 2011

Во-первых, я не уверен, какой терминал вы используете или будет ли он поддерживать оранжевый цвет.Шахта поддерживает следующее: красный, синий, зеленый, голубой, желтый, пурпурный, черный и белый.А вот как я получаю цвета в моем терминале:


Сначала необходимо загрузить цвета, используя 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>

6 голосов
/ 28 мая 2011

Ваш вопрос не проясняет, если вы знакомы с идеей настройки приглашения zsh, но у вас возникают проблемы с цветовыми кодами.

В Интернете достаточно информации.Вот две ссылки:

Они должны охватывать как настройку приглашения, так и использование цветовых кодов для назначения цветов.

3 голосов
/ 28 мая 2011

Печать

<ESC>[33mHostname<ESC>[0m

Быть escape-символом \ x1b

...