Ohmyzsh: Wir stimmen dem Thema nicht zu und git seltsames Verhalten

Erstellt am 4. Feb. 2016  ·  3Kommentare  ·  Quelle: ohmyzsh/ohmyzsh

Das wedisagree-Thema hat ein seltsames Verhalten in Git-Ordnern.
Bei normalen Ordnern funktioniert alles perfekt, aber wenn ich zu einem Git-Ordner komme, befindet sich der Terminal-Cursor 4 Spalten links von der Stelle, an der er sein sollte. Ich weiß, es war eine schlechte Beschreibung, aber es ist einfach zu reproduzieren und hoffentlich hilft der beigefügte Screenshot.

Ich benutze Arch Linux, Awesome und Terminator.
deepinscreenshot20160204100658

Hilfreichster Kommentar

Ich habe das wedisagree-Theme vor einiger Zeit geschrieben ... Schön zu sehen, dass es von anderen verwendet wird! Lassen Sie mich wissen, wenn es aktualisiert werden muss, da ich zsh seit einiger Zeit nicht mehr verwendet habe.

Alle 3 Kommentare

Wenn ich so etwas schon einmal gesehen habe, war es oft ein Problem bei der Übermittlung von Zeichenbreiten an das Terminal: Entweder wurden nicht druckbare (0-Breite) Zeichen nicht richtig maskiert, oder das Terminal und Ihre Schriftart stimmten nicht über die Breite der Zeichen überein sind.

wedisagree sieht für mich in Terminal.app und iTerm2 unter OS X 10.9.5 gut aus. (Bis auf die Verschiebung RPROMPT um ein paar Zeichen bei der Größenänderung des Terminals.)

screen shot 2016-02-04 at 10 24 27 pm

Es sieht nicht so aus, als gäbe es in wedisagree irgendwelche nicht druckbaren Zeichen ohne Escapezeichen. (Es sei denn, sie sind in den ZSH_THEME_TIME_SINCE_* -Variablen versteckt.) Dies sind normalerweise die Farbeinstellungs-Escape-Sequenzen. In wedisagree sieht es so aus, als ob sie alle korrekt mit der zsh-Eingabeaufforderungserweiterung %{...%} maskiert wurden.

Es könnte sein, dass Terminator denkt, dass einige dieser Sonderzeichen in RPROMPT breiter sind als Ihre Schriftart denkt, wie z. B. ☂, ☀ und 𝝙. Dann könnte das Terminal oder curses falsch zählen, wie viele Zeichen es diesem Abschnitt RPROMPT zuweisen muss und wie viele Zeichen es braucht, um den Cursor zurück zu bewegen, um an die ursprüngliche Position zurückzukehren . Die Tatsache, dass die rechte Eingabeaufforderung einige Zeichen vor der rechten Seite des Terminals rechtsbündig ist, stimmt damit überein.

Erstellen Sie zum Testen eine benutzerdefinierte Kopie von wedisagree und ersetzen Sie diese Zeichen durch normale englische Buchstaben. Sie befinden sich in diesem Abschnitt . Probieren Sie dieses Thema auch in ein paar anderen Terminals aus und sehen Sie, wie es sich verhält.

Wenn das die Dinge behebt, haben Sie wahrscheinlich eine Meinungsverschiedenheit zwischen Terminal und Schriftbreite. (Oder ein Problem mit curses oder einer ähnlichen Bibliothek.) Dies könnte ein Konfigurations- oder Anwendungsproblem sein.

Es könnte sein, dass Sie Ihr Gebietsschema für eine Einzelbyte-Codierung konfiguriert haben. Wenn dann Multibyte-Zeichen wie diese verwendeten Sonderzeichen vorhanden sind, überzählt das Terminal oder die Cursorbibliothek, wie viele Zeichen angezeigt werden. Überprüfen Sie Ihre Ausgabe locale und vergewissern Sie sich, dass es sich um ein UTF-8-Gebietsschema handelt und dass Terminator dies unterstützt. Und überprüfen Sie, ob Ihr Terminator-Profil für UTF-8 und nicht für ASCII oder etwas anderes eingerichtet ist.

Oder wenn Sie für UTF-8 eingerichtet sind. Es könnte sein, dass Terminator erwartet, dass diese Sonderzeichen mehrere Zellen breit sind, wenn sie angezeigt werden. Das können Sie nicht in OMZ oder Konfiguration beheben; Sie müssten das Terminator melden.

Das ist richtig! Mein Terminal-Gebietsschema war falsch.
Einstellung

export LC_ALL=pt_BR.UTF-8
export LANG=pt_BR.UTF-8

auf meinem .zshrc hat das Problem gelöst, obwohl meine Konfiguration auf /etc/locale.gen korrekt war.

Ich habe das wedisagree-Theme vor einiger Zeit geschrieben ... Schön zu sehen, dass es von anderen verwendet wird! Lassen Sie mich wissen, wenn es aktualisiert werden muss, da ich zsh seit einiger Zeit nicht mehr verwendet habe.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

2Dou picture 2Dou  ·  3Kommentare

jaredmoody picture jaredmoody  ·  3Kommentare

dariye picture dariye  ·  3Kommentare

samsondav picture samsondav  ·  3Kommentare

nimmoadam picture nimmoadam  ·  3Kommentare