Можно ли выделить (установить цвет фона) всю строку приглашения в zsh
? В моем конфиге emacs у меня есть строка, на которой курсор сидит немного другого цвета с фоном окна, что является отличным визуальным помощником. Мне интересно, возможно ли сделать то же самое в моем терминале / zsh, чтобы он эффективно "рисовал линию" под всем, что было запущено.
Я попытался установить PROMPT='%{$bg[grey]%}# '
в моем, .zshrc
но подсветка распространяется только на то, что я печатаю, а не на край терминала.
Возможно ли то, что я пытаюсь достичь?
Вы можете сделать все, что захотите, с помощью строки подсказки * - проблемный аспект заключается в том, чтобы заставить его отменить это позже. Я предполагаю, что вы не хотите, чтобы каждая строка, в которой когда-либо отображался запрос, отображалась в ваших светлых тонах.
После этого почти легче удалить строку, но тогда у вас нет команды. Может быть, удалить приглашение, а затем повторить команду (с псевдо-подсказкой, как
$
). Вы могли бы, чтобы подсказка начиналась с последовательности сохранения курсора ANSIESC [s
, затем при ееprecmd
восстановленииESC [u
и очистке всего после курсораESC [0J
, а затем выводила команду (я не помню, как получить команду изнутриprecmd
).* Это неполный ответ, я не знаю, как заставить команду выделить другой цвет фона.
источник
Если я перейду
grey
наwhite
, твой пример на самом деле работает для меня.Какой терминал вы используете? Возможно, он обрабатывает стирание цвета фона по-разному?
Вот несколько альтернатив, чтобы попробовать:
Дайте всю строку подсказки серым фоном:
(должен быть таким же, как ваш пример, но по-другому).
Напечатайте строку перед подсказкой:
(Если вы измените значение
"\n"
на"\r"
, оно должно подчеркнуть текущую строку, но, похоже, это не сработает. Я думаю, zsh стирает текущую строку при печати приглашения, что и привело меня к первому решению.)Сделайте команды (т.е. все, что вы вводите) жирным шрифтом:
источник