Невозможно поставить "X" справа, чтобы указать количество заданий в Zsh - PullRequest
2 голосов
/ 03 мая 2009

Этот код статьи не работает для меня. Я вставил весь его код в мой .zshrc.

В моем .zshrc

есть следующее
RPROMPT='%{\[0;33m%}%1v%{\[0m%}'

В нем должно быть указано, есть ли у вас работа или нет. Однако, это не делает это для меня.

Я хотел бы получить значок X в нужной строке, чтобы указать, что у вас запущено задание.

Как вы можете получить правильный запрос, который показывает X, если у вас есть более одного задания в Zsh?

Ответы [ 2 ]

4 голосов
/ 08 мая 2009

Код, который вы используете, не будет работать, потому что он пытается использовать переменную $psvar, которую вы не установили. Возможно, эта статья упоминала об этом где-то еще.

В любом случае, для отображения количества заданий в RPROMPT используйте

$> RPROMPT="%j Job(s)"

Чтобы он отображал 'X', если у вас запущено хотя бы одно задание, используйте

$> RPROMPT="%1(j.X.)"

Просмотрите раздел PROMPT справочной страницы zshmisc или воспользуйтесь ссылкой: http://www.manpagez.com/man/1/zshmisc/. Здесь объясняются все последовательности расширения, которые вы можете использовать для отображения информации в вашем приглашении.

0 голосов
/ 08 мая 2009

Похоже, что в ваших escape-последовательностях ANSI отсутствуют лишние левые скобки, плюс я не думаю, что \[ делает то, что вы ожидаете.

Вот что вы хотите:

RPROMPT="%(1j.%{^[[33m%} X%{^[[0m%}.)"

Однако может оказаться более полезным, чтобы в подсказке было показано , сколько заданий находится в фоновом режиме:

RPROMPT="%(1j.%{^[[33m%} (%j jobs)%{^[[0m%}.)"

Примечание : Эти ^[ выше являются буквальными escape-символами - например, 0x1B. В командной строке (или в режиме вставки Vim, если вы используете Vim для редактирования .zshrc), введите Control-V, а затем Control- [для вставки escape-символа.

...