이러한 흔하지 않은 옵션에 대한 zplug 코드를 어떻게 zinit 언어로 변환하거나 번역할 수 있습니까?

이러한 흔하지 않은 옵션에 대한 zplug 코드를 어떻게 zinit 언어로 변환하거나 번역할 수 있습니까?

문서를 읽었지만 번역된 zinit 코드가 작동하지 않습니다. 나는 그들의 zinit 문서가 매우 혼란스럽다고 생각합니다.

  1. usezinit 언어에서 어떤 zplug가 참조되는지 모르겠습니다 . 예를 들면 다음과 같습니다.

    zplug "mafredri/zsh-async", from:github, use:async.zsh
    
    zplug "junegunn/fzf-bin", as:command, from:gh-r, rename-to:fzf, use:"*${(L)$(uname -s)}*amd64*"
    zplug "junegunn/fzf", use:"shell/*.zsh"
    zplug "peco/peco", as:command,     from:gh-r, use:"*${(L)$(uname -s)}*amd64*"
    

    나는 zinit로 변환합니다 :

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

    하지만 오류가 발생합니다 No such (plugin or snippet) directory: mafredri/zsh-async/pickasync.zsh. 나는 src및 에 대해 회의적 입니다 multisrc. 어느 것이 비슷한지 모르겠습니다 rename-to. 내 생각엔 그럴 것 id-as같은데, 잘 모르겠어.

  2. deferzinit 언어에서 zplug와 유사한 옵션을 찾지 못했습니다.

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

    사용하는 것이 맞는지 잘 모르겠습니다 depth=2.

  3. zinit 문서에서 찾을 수 없는 또 다른 유사한 옵션은 다음과 같습니다 hook-load.

    zplug "larkery/zsh-histdb", use:"{sqlite-history,histdb-interactive}.zsh", hook-load:"histdb-update-outcome"
    
  4. 여러 플러그인을 zinit의 구문으로 변환할 예정인데 for올바르게 번역하는 방법을 잘 모르겠습니다.

    zplug "plugins/common-aliases",    from:oh-my-zsh
    zplug "plugins/copydir",           from:oh-my-zsh
    zplug "plugins/cp",                from:oh-my-zsh
    zplug "plugins/encode64",          from:oh-my-zsh
    zplug "plugins/extract",           from:oh-my-zsh
    zplug "plugins/git",               from:oh-my-zsh
    zplug "plugins/golang",            from:oh-my-zsh, if:"(( $+commands[go] ))"
    zplug "plugins/npm",               from:oh-my-zsh, if:"(( $+commands[npm] ))"
    zplug "plugins/sudo",              from:oh-my-zsh, if:"(( $+commands[sudo] ))"
    zplug "plugins/systemd",           from:oh-my-zsh, if:"(( $+commands[systemctl] ))"
    zplug "plugins/urltools",          from:oh-my-zsh
    zplug "tcnksm/docker-alias", use:zshrc
    

    나는 zinit로 번역합니다.

       zinit wait lucid for \
          OMZ::plugins/common-aliases \
          OMZ::plugins/copydir \
          OMZ::plugins/cp \
          OMZ::plugins/encode64 \
          OMZ::plugins/extract \
          OMZ::plugins/git \
          OMZ::plugins/golang if "[[ $+commands[go] ]]" \
          OMZ::plugins/npm if "[[ $+commands[npm] ]]" \
          OMZ::plugins/sudo if "[[ $+commands[sudo] ]]" \
          OMZ::plugins/systemd if "[[ $+commands[systemd] ]]" \
          OMZ::plugins/urltools \
          OMZ::tcnksm/docker-alias pick "zshrc"
    
  5. zplug check또한 다음과 같이 zinit 언어에 유사한 옵션이 있는지 알고 싶습니다 .

    if zplug check "junegunn/fzf-bin"; then
      export FZF_DEFAULT_OPTS="--height 40% --reverse --border --inline-info --color=dark,bg+:235,hl+:10,pointer:5"
    fi
    

답변1

  1. Zplug는 useZinit의 제품입니다 pick.https://github.com/zdharma/zinit#selection-of-files-to-source-
  2. Zplug는 deferZinit의 제품입니다 wait.https://github.com/zdharma/zinit#conditional-loading
  3. Zplug hook-load에는 Zinit에 상응하는 기능이 없지만 다음과 같이 해결할 수 있습니다.
zinit light-mode for pick'sqlite-history.zsh' \
  atload'autoload -Uz add-zsh-hook && add-zsh-hook precmd histdb-update-outcome' \
  larkery/zsh-histdb
  1. Zinit에서는 수정자를 추가해야 합니다.앞으로플러그인 이름:
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
  1. Zplug check에는 Zinit에 상응하는 기능이 없지만 다음과 같이 해결할 수 있습니다.
zinit from"gh-r" as"program" for \
  atload'export FZF_DEFAULT_OPTS="--height 40% --reverse --border --inline-info --color=dark,bg+:235,hl+:10,pointer:5"' \
  junegunn/fzf-bin

고쳐 쓰다

나는 더 이상 Zinit을 사용하지 않습니다. 대신에 저는 다음과 같은 플러그인 관리자를 만들었습니다.아연 낮잠.

관련 정보