Nicht imstande, „X“ nach rechts prompt, um anzuzeigen, wie viele Aufträge Zsh zu setzen
-
03-07-2019 - |
Frage
Das Artikel des Code rel="nofollow nicht arbeite für mich. Ich habe alle klebte seinen Code auf meine .zshrc.
Ich habe folgend in meinem .zshrc
RPROMPT='%{\[0;33m%}%1v%{\[0m%}'
Es sollte angeben, ob Sie Arbeit haben oder nicht. Allerdings ist es nicht, dass für mich tun.
Ich möchte ein X auf der rechten Seite prompt erhalten, um anzuzeigen, dass Sie einen Job ausgeführt wird.
Wie kann man eine richtige Eingabeaufforderung, die X zeigt, wenn Sie mehr als einen Job Zsh haben?
Lösung
Der Code, den Sie verwenden wird nicht funktionieren, weil es die $psvar
Variable zu verwenden versucht, die Sie haben nicht festgelegt. Wahrscheinlich, dass Artikel erwähnten es woanders.
Wie auch immer, die Zahl der Arbeitsplätze in der RPROMPT
anzuzeigen, verwenden Sie
$> RPROMPT="%j Job(s)"
Um es ein ‚X‘ angezeigt, wenn Sie mindestens ein Job ausgeführt wird, verwenden
$> RPROMPT="%1(j.X.)"
unter Schauen des PROMPT Abschnitt des zshmisc
manpage, oder einen Link nehmen: http: / /www.manpagez.com/man/1/zshmisc/ . Es erklärt alle Erweiterungssequenzen, die Sie verwenden können, Informationen in der Eingabeaufforderung angezeigt werden soll.
Andere Tipps
Es sieht aus wie sind Sie zusätzliche linke Klammern aus Ihren ANSI-Escape-Sequenzen fehlen, und ich glaube nicht, \[
tut, was Sie erwarten.
Hier ist, was Sie wollen:
RPROMPT="%(1j.%{^[[33m%} X%{^[[0m%}.)"
Allerdings können Sie finden es nützlicher für die Aufforderung zeigen wie viele Arbeitsplätze sind im Hintergrund:
RPROMPT="%(1j.%{^[[33m%} (%j jobs)%{^[[0m%}.)"
Hinweis : Die ^[
oben sind wörtliche Escape-Zeichen - zum Beispiel 0x1B
. Auf der Kommandozeile (oder im Einfügemodus der Vim, wenn Sie Vim verwenden Ihre .zshrc
zu bearbeiten) geben bei gedrückter Ctrl-V dann Control- [einfügen ein Escape-Zeichen.