추출 공식의 Zsh 완성


12

OS X에서 Zsh ( Oh-my-zsh 사용 ) 탭 완성 수식 을 가질 수있는 방법이 있습니까?

예 :

$ brew install em<TAB>

확장 할 수 있습니다 :

$ brew install emacs

답변:


4

Homebrew는 자체 완성 기능을 제공합니다. 파일 $(brew --prefix)/Library/Contributions/brew_zsh_completion.zsh을에 _brew어딘가에 연결하면됩니다 $fpath( https://github.com/Homebrew/homebrew/blob/master/Library/Contributions/brew_zsh_completion.zsh 시작 부분의 주석 참조 )

zsh-completions최근 _brew에 해당 파일을 위해 완성을 제거했습니다 ( https://github.com/zsh-users/zsh-completions/issues/305 참조) .


2016-04-19 업데이트 : 어느 시점에서 ( 1 ) Homebrew는 zsh 완료 처리를 다시 업데이트했습니다. 이제 Homebrew를 통해 zsh 를 설치 하면 "작동합니다". 파일이에 설치됩니다 /usr/local/share/zsh/site-functions/_brew.


사람에 관심이 들어 $fpath$FPATH의 새로운 완성 기능을 수용하기 위해 Zsh, 이 Q & A는 유익 할 수있다.
Amelio Vazquez-Reina

12

zsh-completions공식을 설치하십시오 .

$ brew info zsh-completions
zsh-completions: stable 0.10.0, HEAD
https://github.com/zsh-users/zsh-completions
Not installed
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/zsh-completions.rb
==> Caveats
To activate these completions, add the following to your .zshrc:

  fpath=(/usr/local/share/zsh-completions $fpath)

You may also need to force rebuild `zcompdump`:

  rm -f ~/.zcompdump; compinit

Additionally, if you receive "zsh compinit: insecure directories" warnings when attempting
to load these completions, you may need to run this:

  chmod go-w /usr/local/share

또한 zsh가 bash 완료와 일부 호환되는 것처럼 보입니다 . bash-completions수식 과 함께 시도해 볼 수 있습니다.


2
compinit -ichmod 대신 "안전하지 않은 디렉토리"경고를 해결해야합니다.
Thomas Hughes

"안전하지 않은 디렉토리"오류의 경우, 사용 compaudit권한을 변경해야하는 디렉토리를 결정하는 데 사용하십시오.
user2561747
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.