Zsh super langsam in meinem Git-Repo

Zsh super langsam in meinem Git-Repo

Mein Zsh ist in einem bestimmten Git-Repo von mir super langsam. Wenn ich „zsh git slow“ google, erhalte ich eine Reihe von Ergebnissen zu GitAutovervollständigunglangsam zu sein, aber die Autovervollständigung ist nicht unbedingt mein Problem; es istalles.

Ich habe versucht, alle Plugins zu entfernen, aber seltsamerweise passierte überhaupt nichts, als ich eine neue Shell öffnete. Zsh erledigte weiterhin Git-Sachen in meinem Git-Repo.

Ich fand diesen Ausschnitt aufdiese Seite:

function git_prompt_info() {
  ref=$(git symbolic-ref HEAD 2> /dev/null) || return
  echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX"
}

Dadurch wurde alles wieder schnell, aber ich bekam auch eine Eingabeaufforderung, die so aussieht:

➜  snip git:(master

Beachten Sie die fehlende rechte Klammer. Das ist irgendwie lahm. Außerdem scheint das Ganze ein Hack zu sein, den ich nicht machen sollte.

Es gibt auch diese vielversprechend aussehende SU-Frage, aber die Links zur akzeptierten Antwort sind tot.

Wie kann ich erreichen, dass mein Zsh in einem Git-Repo nicht langsam wird?

Antwort1

Sie können den folgenden Befehl ausführen, um die Git-Statusfunktion vollständig zu deaktivieren.

git config --global oh-my-zsh.hide-status 1

Oder fügen Sie die folgende Zeile in Ihre ein ~/.zshrc.

DISABLE_UNTRACKED_FILES_DIRTY="true"

Antwort2

Um die Shell-Befehle zu verfolgen, die aufgerufen werden, während das System langsam ist, können Sie Folgendes ausführen: set -xoder zu Ihren Startdateien hinzufügen. Es werden Ihnen alle Befehle angezeigt, einschließlich des Befehls, der für die automatische Vervollständigung zuständig ist.

Wenn Sie meinen, dass manche gitBefehle langsam sind, können Sie einige zusätzliche Variablen definieren, wie zum Beispiel:

exports GIT_TRACE=1

Weitere Beispiele finden Sie unter:Wie kann ich Git/Git-Shell-bezogene Probleme debuggen?

Antwort3

Ich habe es zsh-autosuggestionsals Plugin entfernt und dann ging es schneller. In meinem Fall hatte es nichts damit zu tun git.

Antwort4

Sie können versuchen, die Ursache für Ihre Verlangsamung mit zu bestätigen zprof. Fügen Sie dies zu Ihrem ~/.zshrc(oder einem gleichwertigen) hinzu:

zmodload zsh/zprof

Führen Sie es dann zprofnach jedem Befehl aus, um eine Zusammenfassung zu erhalten. In meinem Fall war es ein völlig anderes Plugin, das die Verlangsamung verursachte.

verwandte Informationen