
다음과 같이 git에 대해 자동 완성하려는 별칭이 있습니다.
alias gco="git checkout"
이 별칭에 대한 완성을 추가하려고 할 때 경로를 둘러보고 사용 가능한 git 완성이 여러 개 있는 것을 확인합니다(예: , _git-push
, _git-checkout
) _git-diff-files
. 한때 나는 compdef
그것을 이렇게 정의한 적이 있다.
compdef _git-checkout gco
이것은 한동안 효과가 있었고 터미널을 다시 시작했는데 갑자기 모두 사라졌습니다... (완료에 대한 오류가 발생하지 않음):
gco (eval):1: command not found: _git-checkout
(eval):1: command not found: _git-checkout
(eval):1: command not found: _git-checkout
이상하게도 내가 달리고 나면 그 사람들은 모두 내 앞길에 던져졌다 git reflog
. (그런 다음 작동합니다). 여기서는 의존해서는 안되는 내부 기능에 의존하고 있습니까? 이 문제를 다르게 처리해야 합니까? ( git reflog
나의 에 a를 추가 할 수도 있지만 .zshrc
이는 완전히 터무니없는 것 같습니다).