Zsh

我從 zplug/zinit 遷移到 znap。這些 zplug/zinit 選項可以替代 znap 嗎?

  • February 21, 2022

關於如何將這些不常用選項的 zplug 程式碼轉換或翻譯成 zinit 語言?,我正在從 zplug/zinit 遷移到我感興趣的 znap。

我正在閱讀znap文件,但我觀察到了這一點zinit並且znap完全不同。

我觀察到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嗎?

這應該可以解決問題:

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 具有執行 async 的內置功能。你不需要外掛。

引用自:https://unix.stackexchange.com/questions/691259