Я пытаюсь настроить мой bash PS1 соответствии с темой Solarized. Я соляризации установлен и работает для iTerm2 но до сих пор не увенчались успехом в создании пользовательских PS1 приглашение , которое соответствует теме.

Я пытался использовать такие значения, как следующие для голубого, но в итоге я получил либо нет цвета, либо неправильный цвет. \033[0;37m

Я получил значения выше по следующей ссылке. https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

1 ответ1

1

Если вы запрашиваете escape-последовательности ANSI, вот несколько советов:

0 Black
1 Red
2 Green
3 Yellow/Brown
4 Blue
5 Pink
6 Cyan
7 White/Gray

Каждый из них применяется к переднему плану или цвету фона.

3_  sets grim    foreground color
9_  sets intense foreground color
4_  sets grim    background color
10_ sets intense background color
# 3-4, 9-10 and a code for a color.

Например, выполнив printf "\033[1;44;97m" вы сделаете фон 44 (мрачно-синий) передним планом 97 (интенсивный белый).

Есть и другие полезные цветовые коды, которые вы также должны использовать:

0 reset all colors
1 bold
3 italics
4 underline
5 blink
7 inverse

Чтобы вам было удобнее с этим работать, вы можете создать набор псевдонимов, таких как fiblue fred bblack и т.д. Вы также можете добавить следующую функцию в ваш bashrc:

ansi() {
    printf "\033[$1"
}

Так что вместо записи \033[1;35m вы делаете ansi '1;35m' , и написание цветных псевдонимов с этой функцией более удобно.

Также следует учесть, что установка цвета фона сбрасывает уже установленный цвет переднего плана, поэтому вы должны использовать \033[ misc;background;foreground m.

Таким образом, вы можете нарисовать любую понравившуюся вам PS1 . Вот пример:

PS1="\033[0;1;36m\u\033[0;1m:\033[1;103;30m\t\033[0m \033[1;92m\$\033[0m \r"

Также взгляните на bash_it.

Надеюсь, я ответил на то, что вы спросили.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .