
Ich möchte diese Plugins mit zinit verwenden, um Git-Vervollständigungen in zsh zu laden
zinit wait lucid for \
OMZL::git.zsh \
OMZP::git
Aber die Aliase sind mir egal, es gibt wirklich zu viele Aliase, ich habe bereits meine eigenen.
Wie kann ich diese Aliasdefinitionen überspringen?
Ich habe versucht, den Alias-Befehl während des Ladens des Plugins zu deaktivieren, aber es funktioniert nicht
zinit wait lucid for \
atinit"alias alias=" \
atload"unalias alias" \
OMZL::git.zsh \
OMZP::git
Irgendwelche Ideen ?
Antwort1
Ich habe diese Lösung gefunden, die gut zu funktionieren scheint
zinit wait lucid for \
atinit'save_aliases=$(alias -L)' \
atload'unalias -m "*"; eval ${save_aliases}; unset save_aliases' \
OMZP::git
Ich entferne auch die Bibliothek OMZL::git.zsh, da ich powerlevel10k verwende (sie war überflüssig).
Aber nachdem dieser Trick zu anderen Plugins wie Kube- oder Git-Plugins hinzugefügt wurde, trat ein Nebeneffekt auf, da das Laden des Plugins asynchron erfolgt.
Ich bin bei Folgendem gelandet, und es scheint bislang gut zu funktionieren: Ich habe alias
den Befehl einfach direkt vor dem Laden des Plugins (Make-Phase) mit einem Alias auf nichts festgelegt.
zinit ice as"completion"
zinit wait lucid depth=1 for \
make'alias alias=' \
OMZP::docker \
make'alias alias=' \
OMZP::docker-compose
Hinweis: Der Alias-Befehl wird am Ende des Prozesses wiederhergestellt, daher gehe ich davon aus, dass die zur Erstellung der Bühne hinzugefügten Befehle auf das Laden von Zinit beschränkt sind.