Incapaz de colocar “X” para o prompt direito de indicar o número de postos de trabalho no Zsh
-
03-07-2019 - |
Pergunta
código Este do artigo não faz trabalhe para mim. Eu ter colado todo o seu código para o meu .zshrc.
Eu tenho o seguinte no meu .zshrc
RPROMPT='%{\[0;33m%}%1v%{\[0m%}'
Deve indicar se você tem emprego ou não. No entanto, ele não faz isso por mim.
Eu gostaria de ter um X ao prompt direito de indicar que você tem um trabalho em execução.
Como você pode ter uma direita rápida que mostra X se você tem mais de um emprego em Zsh?
Solução
O código que você está usando não vai funcionar, porque ele está tentando usar a variável $psvar
, que você não tenha definido. Provavelmente esse artigo mencionado isso em outro lugar.
De qualquer forma, para exibir o número de empregos no RPROMPT
, uso
$> RPROMPT="%j Job(s)"
Para tê-lo exibir um 'X' se você tiver pelo menos um trabalho em execução, uso
$> RPROMPT="%1(j.X.)"
procure na seção PROMPT da manpage zshmisc
, ou fazer um link: http: / /www.manpagez.com/man/1/zshmisc/ . Ele explica todas as seqüências da expansão que você pode usar para exibir informações em seu prompt.
Outras dicas
Parece que você está perdendo suportes extra deixados de de suas seqüências de escape ANSI, mais eu não acho que \[
está fazendo o que você espera.
Aqui está o que você quer:
RPROMPT="%(1j.%{^[[33m%} X%{^[[0m%}.)"
No entanto, você pode achar que é mais útil para o prompt para mostrar quantas empregos estão em segundo plano:
RPROMPT="%(1j.%{^[[33m%} (%j jobs)%{^[[0m%}.)"
Nota ??strong>: Aqueles ^[
acima são caracteres de escape literal - por exemplo, 0x1B
. Na linha de comando (ou no modo de inserção do Vim se você estiver usando Vim para editar o seu .zshrc
) digite Control-V, em seguida, Control [para inserir um caractere de escape.