
zsh에서 git 완성을 로드하기 위해 zinit를 사용하여 이 플러그인을 사용하고 싶습니다.
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
플러그인이 로드되기 직전에 아무 것도 명령에 별칭을 지정하지 않았습니다(make stage).
zinit ice as"completion"
zinit wait lucid depth=1 for \
make'alias alias=' \
OMZP::docker \
make'alias alias=' \
OMZP::docker-compose
참고: alias 명령은 프로세스가 끝나면 복원되므로 make stage에 추가된 명령은 zinit 로딩으로 범위가 지정되는 것 같습니다.