Ich verwende Antigen als Oh-My-Zsh-Plugin-Manager. Ich hatte ein paar Bash-Vervollständigungsskripte von Kollegen geschrieben, die ich mit einem einfachen in Zsh laden wollte source /path/to/completion
.
Ich hatte einige Probleme, weil es so aussieht, als ob Antigen oder OMZ (schwer zu sagen) sich nur darum kümmern, Abschlussskripte von ihren Plugins zu laden. Ich habe das endlich durch Autoloading bashcompinit
und compinit
danach umgangen antigen apply
. Nur das automatische Laden bashcompinit
war nicht genug.
source ~/.antigen/antigen.zsh
antigen use oh-my-zsh
antigen apply
autoload -U +X compinit && compinit
autoload -U +X bashcompinit && bashcompinit
source /path/to/bash_completion
Antigen erstellt seine .zcompdump
Datei, bei $ANTIGEN_COMPDUMP
der für mich war~/.antigen/.zcompdump
Durch das erneute Aufrufen von compinit und bashcompinit wird ein zweiter .zcompdump bei erstellt $HOME/.zcompdump
Das scheint alles zu klappen, denn ich kann die von eingerichteten Vervollständigungen verwenden /path/to/bash_completion
. Ich habe beide .zcompdump-Dateien einige Male gelöscht, um sicherzustellen, dass sie neu generiert werden und anscheinend funktionieren.
Ich musste die .zcompdump-Dateien einige Male nach einem Neustart des Computers speichern, da beim Versuch, die Registerkarte zu vervollständigen, Fehler aufgetreten sind. Ich bin mir jedoch nicht sicher, ob dies auf diese Einrichtung oder auf etwas anderes zurückzuführen ist. rm ~/.zcompdump && rm $ANTIGEN_COMPDUMP
und eine neue Shell behebt das für mich.
Zum Zeitpunkt des Schreibens verwendete Versionen:
Antigen = v2.2.3 = d3d4ee0
Oh-my-zsh = c3b072e
Zsh = 5.3