zinit를 사용하여 zsh에서 git 완성을 로드하기 위해 이 플러그인을 사용하고 싶습니다.
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
powerlevel10k를 사용하고 있기 때문에 OMZL::git.zsh 라이브러리도 제거했습니다(중복됨).
그러나 이 트릭을 다른 플러그인(예: kube 또는 git 플러그인)에 추가하면 플러그인 로딩 시스템이 비동기적으로 수행되므로 부작용이 있습니다.
결과적으로 지금까지는 잘 작동하는 것 같습니다. alias
플러그인을 로드하기 전에(프로덕션 단계) 명령 별칭을 비워 두었습니다.
zinit ice as"completion"
zinit wait lucid depth=1 for \
make'alias alias=' \
OMZP::docker \
make'alias alias=' \
OMZP::docker-compose
참고: alias 명령은 프로세스가 끝나면 재개되므로 make 단계에 추가된 명령은 zinit 로드로 제한될 것으로 추측됩니다.