Невозможно поставить & # 8220; X & # 8221; вправо, чтобы указать количество рабочих мест в Zsh

StackOverflow https://stackoverflow.com/questions/815652

  •  03-07-2019
  •  | 
  •  

Вопрос

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

В моем .zshrc

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

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

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

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

Это было полезно?

Решение

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

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

<*>gt; RPROMPT="%1(j.X.)"
gt; RPROMPT="%j Job(s)"

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

<*>

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top