моя подсказка zsh не выделена жирным шрифтом

Я настраиваю свой терминал zsh, но сталкиваюсь с трудностями, когда нужно выделить подсказку жирным шрифтом. Я пробовал несколько разных вещей, но ничего не сработало, тогда как у людей в Интернете это сработало...

Итак, это моя тестовая подсказка. Оба «HEY» выделены цветом 1, но второе «HEY» должно быть жирным. Это явно не так, и вместо этого я получаю ярко-красный, как первая часть моей подсказки, которая имеет цвет 9. wtf :)

Вот код, который я использую в этом случае:

HEY%BHEY%b

Я также заметил, что он делает то же самое для каждого из 8 первых цветов: черный становится серым, серый становится белым, темно-синий становится темно-синим, зеленый лист становится ярко-зеленым, то же самое для розового, желтого...

Я также пытался использовать некоторые escape-последовательности с модулем, но ничего не работало: каждый раз модуль принимал символ рядом с ним в качестве своего параметра, а остальная часть кода просто отображалась как обычные символы. Например, это:

PS1="%{\e[1;33%}test"

будет отображать это:

\e[1;33test

Может ли кто-нибудь объяснить мне, что здесь происходит не так, и как я могу исправить это, чтобы получить какой-то (настоящий) жирный текст подсказки?


person nounoursnoir    schedule 08.04.2017    source источник


Ответы (3)


Цвета «ANSI» (экранированные коды) имеют атрибут «полужирный», но вместо этого часто интерпретируются как «яркие». Возможно, вам придется заглянуть в параметры вашего терминального приложения, чтобы увидеть, можете ли вы перенастроить его, чтобы он интерпретировал жирный шрифт как жирный, а не яркий. Я думаю, вам придется выбирать между поддержкой «жирных» и «ярких цветов». См. также https://en.wikipedia.org/wiki/ANSI_escape_code#Colors.

person faffaffaff    schedule 13.04.2017

это поздно, но может кому-то помочь, OP сделал это правильно, я считаю, что проблема, с которой он столкнулся, связана с его настройками рендеринга шрифтов.

вот список всех переменных приглашения, используемых в zsh и tcsh

http://www.nparikh.org/unix/prompt.php

как там указано %B (%b) = Начать (остановить) режим полужирного шрифта.

person user7055061    schedule 02.11.2019

Прочтите этот документ, и вы узнаете, что делать: Настройка приглашения zsh

Существует множество вариантов изменения приглашения zsh.

Для жирного шрифта ваша команда должна быть такой

PROMPT='%B %~ %b %# '

%B -> чтобы начать жирным шрифтом

%b ->, чтобы прекратить выделение жирным шрифтом (чтобы жирным шрифтом было выделено только приглашение)

person Siddhant Gupta    schedule 25.02.2021