ZSH в iTerm2: Почему моя подсказка может использовать только 8 цветов?

Я пытаюсь установить цветовое приглашение в ZSH ($TERM=xterm-256color), но оно может вывести только 8 цветов: только яркая версия цветов. Это только для подсказки, в то время как другие приложения могут отображать все цвета.

Итак, для быстрого я получаю те же цвета с:

PROMPT=' %B%F{9}❯%F{11}❯%F{10}❯%f%b '

а также

PROMPT=' %B%F{1}❯%F{3}❯%F{2}❯%f%b '

То, что я вижу напечатанным на экране, содержит правильные цвета для первого утверждения, но неправильные для второго утверждения.

Что не так между моим ZSH и iTerm (5.1.1 и 2.1.4 соответственно)?

PS Итак, я нашел этот скрипт и запустил его. Все 256 цветов печатаются правильно, когда я пробую две функции печати (передний план и фон). Но острая проблема сохраняется, а это значит, PROMPT=' %B%F{009}❯%F{011}❯%F{010}❯%f%b ' приводит к тому же выводу, что и PROMPT=' %B%F{1}❯%F{3}❯%F{2}❯%f%b ' (оба выводят 009, 011 и 010), в то время как печать цветов после первых 16 приводит к желаемому выводу. (например: PROMPT=' %B%F{160}❯%F{142}❯%F{064}❯%f%b ',

1 ответ

Если вы удалите жирный шрифт, вы увидите, что цвета вернутся в нормальное русло:

Это потому, что по умолчанию iTerm2 делает жирные символы ярче. Теперь, если вы отключите эту опцию, вы увидите, что жирный шрифт будет отображаться в правильном цвете.

Другие вопросы по тегам