Impossibile inserire & # 8220; X & # 8221; al prompt di destra per indicare il numero di lavori in Zsh

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

  •  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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top