Перезаписать цвет bg приглашения zsh

Я считаю, что устройство systemd-networkd-wait-online.serviceтребует, чтобы ваша сеть управлялась systemd-networkd.service, и я не помню, чтобы это было установлено в каком-либо из последних дистрибутивов, которые я использую.

Согласно моему комментарию, каждый раз, когда у меня была служба, работающая под systemd, которая пытается запуститься до того, как сеть будет готова, мне просто нужно добавить After=network-online.targetв сервисный блок, чтобы убедиться, что служба ожидает, пока сеть не будет готова.

1
28.08.2020, 14:03
1 ответ

zshне меняет цвет фона или переднего плана, если вы не попросите об этом.

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

В подсказке цвет фона изменяется с помощью %K{colour}и%k(так же, как %K{default}), но также может быть изменен путем встраивания жестко закодированных escape-последовательностей, таких как $'%{\e[40;37;1m%}foo%{\e[m%}'для полужирного белого на черном fooна большинстве терминалов.

И есть %Sдля режима выделения (, остановленного с помощью %s), который на большинстве терминалов выполняется с использованием реверсивного видео (замены фонового и основного цветов ).

Таким образом, если вы хотите сохранить цвет фона по умолчанию, вам нужно удалить его из определения вашей переменной $PS1(, также известной как $PROMPT).

Также обратите внимание, что если опция promptsubstвключена и ваш $PS1содержит такие вещи, как $(some command)или ${some_variable}, они будут расширены при быстром расширении, поэтому вам также нужно следить за последовательностями изменения цвета. там же.

Вы указываете, что используете тему приглашения fade. Переменная $PS1в этой теме по умолчанию имеет значение :

.
%F{green}%B%K{green}█▓▒░%F{white}%K{green}%B%n@%m%b%F{green}%K{black}█▓▒░%F{white}%K{black}%B %D{%a %b %d} %D{%I:%M:%S%P}
%}%F{green}%K{black}%B%~/%b%k%f

Где вы видите %K{black}. Если вы посмотрите на определение функции prompt_fade_setupили запустите prompt -h fade, вы увидите, что цвет не входит в число вещей, которые она позволяет настраивать. Так что, если вам не нравится этот черный фон, вы можете либо

  • переключиться на другую тему
  • создайте собственную тему приглашения на основе этой (см. info zsh "prompt themes"для получения подробной информации об этом ).
  • добавьте PS1=${PS1//\%K{black}/%k}после prompt fadeв ваш~/.zshrc
  • не использовать prompt fade,и просто скопируйте это определение переменной PS1в свой ~/.zshrcс заменой %K{black}на %k.
3
18.03.2021, 23:09

Теги

Похожие вопросы