/ / Wie verhindert man, dass die zsh-Eingabeaufforderung kollabiert - zsh, oh-my-zsh

Wie verhindert man, dass die zsh-Eingabeaufforderung kollabiert - zsh, oh-my-zsh

Ich habe meine eigene zsh geschrieben (eigentlich, ich benutze zsh mit oh-my-zsh, wenn es relevant für das Thema ist) prompt, sein Code folgt:

PROMPT="%{$fg[green]%n%}@%{%m%}:%{$fg[yellow]%~%} %{$fg[red]%#$reset_color%} "

Bis auf das einzige Problem ist alles in Ordnung: Wenn ich Autovervollständigung verwende (Tab drücken), werden die ersten Symbole angezeigt.

Hier ist der Screenshot, die zusammengefasste Eingabeaufforderung im linken Terminalfenster und die normale Eingabeaufforderung im rechten Fenster.

http://i.imgur.com/a1iWHdA.png

Antworten:

0 für die Antwort № 1

Ich bin mir nicht sicher, ob ich es genau so bekommen habe, wie Sie es wollten, aber versuchen Sie es gleich mal:

local gr=${1:-"green"}
local bl=${2:-"blue"}
local re=${3:-"red"}
local wh=${4:-"white"}
local cy=${5:-"cyan"}
local ye=${6:-"yellow"}

export PROMPT="%F{$gr}%n%[email protected]%m:%F{$ye}%~%f %F{$re}%#%f "

Ich bin mir nicht sicher, was genau Sie falsch gemacht haben, aber es scheint, dass diese geschweiften Klammern Ihre Eingabe durcheinander gebracht haben %F{$ID} woher ID ist einer der Identifikatoren, die ich für den Beginn der Färbung definiert habe %f um die Färbung zu stoppen. Sie können Text mit Fett formatieren %B (fett entfernen mit %b).