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 -x
oder 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 git
Befehle 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-autosuggestions
als 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 zprof
nach jedem Befehl aus, um eine Zusammenfassung zu erhalten. In meinem Fall war es ein völlig anderes Plugin, das die Verlangsamung verursachte.