
Я хочу использовать эти плагины с помощью zinit для загрузки дополнений git в zsh
zinit wait lucid for \
OMZL::git.zsh \
OMZP::git
Но меня не волнуют псевдонимы, у меня и так слишком много псевдонимов.
Как мне пропустить эти определения псевдонимов?
Я пытался отключить команду alias во время загрузки плагина, но это не сработало.
zinit wait lucid for \
atinit"alias alias=" \
atload"unalias alias" \
OMZL::git.zsh \
OMZP::git
Есть идеи ?
решение1
Я нашел это решение, которое, кажется, работает хорошо.
zinit wait lucid for \
atinit'save_aliases=$(alias -L)' \
atload'unalias -m "*"; eval ${save_aliases}; unset save_aliases' \
OMZP::git
Я также избавился от библиотеки OMZL::git.zsh, так как использую powerlevel10k (она была излишней)
Но после добавления этого трюка в другие плагины, такие как плагины kube или git, появился побочный эффект, поскольку система загрузки плагинов выполняется асинхронно.
В итоге я пришел к такому решению, которое, кажется, работает хорошо до сих пор. Я просто присвоил alias
команде псевдоним «nothing» непосредственно перед загрузкой плагина (этап make).
zinit ice as"completion"
zinit wait lucid depth=1 for \
make'alias alias=' \
OMZP::docker \
make'alias alias=' \
OMZP::docker-compose
Примечание: команда alias восстанавливается в конце процесса, поэтому я предполагаю, что команды, добавленные на этап make, относятся к загрузке zinit.