Impossibile inserire & # 8220; X & # 8221; al prompt di destra per indicare il numero di lavori in Zsh
-
03-07-2019 - |
Domanda
Questo codice dell'articolo non lavora per me. Ho incollato tutto il suo codice sul mio .zshrc.
Ho quanto segue nel mio .zshrc
RPROMPT='%{\[0;33m%}%1v%{\[0m%}'
Dovrebbe indicare se hai un lavoro o meno. Tuttavia, non lo fa per me.
Vorrei ottenere una X al prompt giusto per indicare che hai un lavoro in esecuzione.
Come puoi avere una richiesta corretta che mostra X se hai più di un lavoro in Zsh?
Soluzione
Il codice che stai usando non funzionerà perché sta cercando di usare la variabile $ psvar
, che non hai impostato. Probabilmente quell'articolo lo menzionava da qualche altra parte.
Ad ogni modo, per visualizzare il numero di lavori in RPROMPT
, utilizzare
<*>gt; RPROMPT="%1(j.X.)"
gt; RPROMPT="%j Job(s)"
Per visualizzare una 'X' se hai almeno un lavoro in esecuzione, usa
<*> Guarda nella sezione PROMPT della manpage zshmisc
o prendi un link: http://www.manpagez.com/man/1/zshmisc/ . Spiega tutte le sequenze di espansione che è possibile utilizzare per visualizzare le informazioni nel prompt.
Altri suggerimenti
Sembra che manchi delle parentesi quadre in più dalle sequenze di escape ANSI, inoltre non credo che \ [
stia facendo quello che ti aspetti.
Ecco cosa vuoi:
RPROMPT="%(1j.%{^[[33m%} X%{^[[0m%}.)"
Tuttavia, potresti trovare più utile che il prompt mostri quanti lavori sono in background:
RPROMPT="%(1j.%{^[[33m%} (%j jobs)%{^[[0m%}.)"
Nota : questi ^ [
sopra sono letteralmente caratteri di escape & # 8212; ad es. 0x1B
. Sulla riga di comando (o nella modalità di inserimento di Vim se stai usando Vim per modificare il tuo .zshrc
) digita Control-V quindi Control- [per inserire un carattere di escape.