Как добавить символы Unicode в приглашение Zsh? - PullRequest
1 голос
/ 19 марта 2020

Я хотел бы добавить символы юникода в мое приглашение Zsh, чтобы настроить тему.

Я читал подобные статьи (https://scriptingosx.com/2019/07/moving-to-zsh-06-customizing-the-zsh-prompt/), которые объясняют, что вам нужно изменить переменную PROMPT, которую я пробовал. Однако, когда дело доходит до печати символов Unicode в приглашении, оболочка возвращает этот текст символа (например, «U + 1F600»), а не сам значок символа Graphi c (?).

Мне было интересно, возможно ли это в Zsh?

Меня вдохновило приглашение, которое выглядит так:

enter image description here

1 Ответ

1 голос
/ 19 марта 2020

Используйте экранирование \U, за которым может следовать шестнадцатеричное значение от 1 до 8 цифр (хотя Unicode, как определено в настоящее время, будет требовать только 6 цифр, поскольку он допускает кодовые точки до 10FFFF).

% print '\U1f600'
?

Для подсказки вам нужно использовать $'...' кавычки, чтобы заставить расширение быть расширенным (команда print делает это сама):

% PS1=$'%m %1~ \U1f600 %# '
myhost ~ ? %

Как и в других контекстах, различные виды цитирования могут быть объединены в одном задании. Например,

PS1='%m %1~ '$'\U1f600'' %# '

эквивалентно приведенному выше.

...