Zsh zinit load OhMyZsh плагин пропускает псевдонимы

Zsh zinit load OhMyZsh плагин пропускает псевдонимы

Я хочу использовать эти плагины с помощью 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.

Связанный контент