와 같은 별칭을 정의하면 alias g=git
쉘이 이를 선택하여 해당 자동 완성 기능을 실행합니다. 이제 hub
기본적으로 git의 대체 세트에 github 관련 기능이 추가된 이라는 프로그램이 있습니다 . 권장되는 사용 방법 hub
은 입니다 alias git=hub
. 물론 이것은 git의 자동 완성 기능을 실행하지 않습니다.
이제 허브에 대한 git의 자동 완성 트리거를 갖고 싶다면 내가 아는 유일한 방법은 첫 번째 줄을 편집 /usr/share/zsh/functions/Completion/Unix/_git
하고 트리거로 추가하는 것 입니다. hub
이것이 작동하기는 하지만 다음 zsh 릴리스에서 이 파일을 덮어쓰게 되므로 실용적이지 않습니다. 허브가 곧 zsh 완료 기능을 제공하지 않을 것이라고 가정하면 hub
git의 자동 완성 기능에 대한 트리거 명령을 추가하는 다른 방법이 있습니까?
답변1
사용자 정의 정의를 포함할 수 있는 추가 자동 완성 폴더를 정의할 수 있습니다. 기본 .zshrc와 비슷한 것이 있으면 업데이트하면 됩니다.$fpath전화하기 전에자동 로드 -Uz compinit.
예:
...
zstyle ':completion:*' use-compctl true
zstyle ':completion:*' verbose true
zstyle :compinstall filename "$HOME/.zshrc"
fpath=($HOME/autocomplete $fpath)
autoload -Uz compinit
compinit
# End of lines added by compinstall
...
그런 다음 업데이트된 _git을 개인 자동 완성 폴더에 복사할 수 있으며 원본 대신 사용됩니다.