zsh (256 цветов): цвет фона по умолчанию в качестве цвета переднего плана
Я могу легко переключиться обратно на схему окраски терминала по умолчанию, используя %k
(фон) или %f
(На переднем плане). Также есть возможность использовать %K(default)
или же %F(default)
который дает те же результаты.
Как я могу изменить цвет переднего плана на цвет фона по умолчанию? Возможно ли это даже без точного наименования цветового кода?
Пример использования: правильно окрасить левый направляющий разделитель линии электропередачи: ⮂. (левая сторона - цвет фона, правая сторона - цвет переднего плана)
1 ответ
Вы можете переключать цвета переднего плана и фона в режиме ожидания %S (%s)
,
Чтобы напечатать что-либо с цветом фона по умолчанию, вам просто нужно установить цвет фона по умолчанию, цвет переднего плана на любой, какой вы хотите в качестве фона, и включить режим ожидания.
Примеры:
print -P $' unchanged output colors'
print -P $'%f%k default colors %S standout mode %s'
print -P $'%F{blue}%K{red} blue on red %f%k'
print -P $'%S%F{blue}%K{red} red on blue %s blue on red %f%k'
print -P $'%K{default}%F{blue}%Sdefault background on blue %s%f%k'
print -P $'%K{red}%F{default}%S red on default foreground %f%k%s'
Как видите, не имеет значения, в каком порядке установлены цвета и режимы (работает одинаково для жирного и подчеркнутого режимов). Вы можете установить цвет переднего плана с %F{color}
до или после запуска режима ожидания с %S
, он просто используется в качестве фона после %S
пока вы не остановите режим ожидания %s
,