#zsh #zshrc
#zsh #zshrc
Вопрос:
Я хочу сделать имя моего хоста в моем терминале оранжевым. Как мне это сделать?
Ответ №1:
Запуск следующего кода в вашем терминале должен сообщить вам, поддерживает ли ваш терминал 256 цветов.
for COLOR in {0..255}
do
for STYLE in "38;5"
do
TAG="33[${STYLE};${COLOR}m"
STR="${STYLE};${COLOR}"
echo -ne "${TAG}${STR}${NONE} "
done
echo
done
он также показывает вам код для каждого цвета в форме, 38;5;x
где x
указан код для одного из 256 доступных цветов.
Также обратите внимание, что при изменении "38;5"
на "48;5"
будет показан эквивалент цвета фона. Затем вы можете использовать любые цвета, которые вам нравятся, для оформления приглашения, как упоминалось ранее.
Комментарии:
1. Каково значение
${NONE}
?
Ответ №2:
Во-первых, я не уверен, какой терминал вы используете и будет ли он вообще поддерживать оранжевый цвет. Мой поддерживает следующие цвета: красный, синий, зеленый, голубой, желтый, пурпурный, черный и белый. И вот как я получаю цвета в своем терминале:
Сначала вам нужно загрузить цвета с помощью autoload
. Я использую следующее, чтобы загрузить цвета и присвоить им значимые имена
#load colors
autoload colors amp;amp; 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>
Комментарии:
1. Это отличный фрагмент @yoda. Знаете ли вы, есть ли способ 1) Узнать, какие цвета загружены в автозагрузку colors amp;amp; цвета? 2) Знаете, какие цвета поддерживаются вашим терминалом?
2. Это цвета, которые загружаются
autoload
. Этот маленький цикл просто переименовывает их в более понятные названия цветов (например,RED
вместоfg_no_bold_RED
или что-то в этом роде). Если вы используете Mac OS X 10.6 и ниже, Terminal.app по умолчанию будет поддерживать только 16 цветов. Вы можете скачатьiterm2
для Mac, который является отличным терминалом и поддерживает 256 цветов. Я думаю, что в OS X 10.7 Terminal.app поддерживает 256 цветов (хотя я не могу проверить, поскольку я не обновлял). Вы также можете использовать этот удобный скрипт , чтобы посмотреть, сколько цветов он поддерживает.3. @yoda, я также добавил перенос процентов при СБРОСЕ. В противном случае у меня та же проблема со «странным пробелом».
4. Когда я пытаюсь использовать этот первый фрагмент, я получаю сообщение об ошибке:
command not found: autocomplete
Ответ №3:
С принтами
<ESC>[33mHostname<ESC>[0m
Является управляющим символом x1b