我从 zplug/zinit 迁移到 znap。 znap 的 zplug/zinit 选项替代品是什么?

我从 zplug/zinit 迁移到 znap。 znap 的 zplug/zinit 选项替代品是什么?

在参照如何将这些不常见选项的 zplug 代码转换或翻译成 zinit 语言?,我正在从 zplug/zinit 迁移到我感兴趣的 znap。

我正在读znap文档,但我观察到 和zinitznap完全不同的。

我观察到该选项pick不存在znap

zinit light "mafredri/zsh-async" pick "async.zsh"

我想知道我是否会这样写:

znap source mafredri/zsh-async
znap eval zsh-async 'curl -fsSL https://github.com/mafredri/zsh-async/async.zsh'

还要观察zplug语言,使用defer

zplug "zdharma/fast-syntax-highlighting", defer:2

我还需要将其中一个插件推迟到另一个插件之前,但我不知道它在znap.我正在考虑在第二个之前采购第一个,但不确定这是否正确。

想要使用条件检查命令会很有趣,但我还需要检查操作系统类型,例如:

zinit wait lucid for \
      OMZ::plugins/common-aliases \
      OMZ::plugins/copydir \
      OMZ::plugins/cp \
      OMZ::plugins/encode64 \
      OMZ::plugins/extract \
      OMZ::plugins/git \
      if"[[ $+commands[go] ]]" OMZ::plugins/golang \
      if"[[ $+commands[npm] ]]" OMZ::plugins/npm \
      if"[[ $+commands[sudo] ]]" OMZ::plugins/sudo \
      if"[[ $+commands[systemd] ]]" OMZ::plugins/systemd \
      OMZ::plugins/urltools \
      pick "zshrc" tcnksm/docker-alias

我可以从 切换~/.local/share/znap到 吗~/.config/zsh

答案1

这应该可以解决问题:

znap prompt  # This is how you "defer".

() {
  local -a plugins=( 
      common-aliases copydir cp encode64 extract urltools
      ${commands[go]:+golang} 
      ${commands[npm]:+npm} 
      ${commands[sudo]:+sudo} 
      ${commands[systemd]:+systemd} 
  )
  znap source ohmyzsh/ohmyzsh plugins/$^plugins
}

znap source tcnksm/docker-alias zshrc  # This is how you "pick".

znap source mafredri/zsh-async
znap source zdharma-continuum/fast-syntax-highlighting

顺便说一句,我会推荐不是使用mafredri/zsh-async。 Zsh 有用于执行异步操作的内置功能。你不需要一个插件。

相关内容