Zsh - Mac tab 자동 완성 zsh-completions 설치하기
zsh 쉘은 맥을 사용할때 유용한 기능이 많아서 많은 유저들이 터미널 쉘로 사용하고 있다.
그중에서 Tab키를 통한 자동완성 기능은 한번 사용해보면 계속 사용하게되는 매력적인 플러그인이다.
그럼 이를 어떻게 Mac에서 설치하고 사용할 수 있는지 확인해 보도록하자.
먼저 만약 Zsh가 이미 설치되어 있다면 먼저 vi ~/.zshrc 명령으로.zshrc를 편집기로 열어서 아래의 내용을 가장 아래 추가한다.
autoload -Uz compinit
compinit
이후 동작유무를 확인하기 위해 source를 진행해보자.
source ~/.zshrc
이제 Tab키를 눌려서 필요한 정보들이 추가되는지 확인한다.
compinit 없을 경우
만약 Tab키를 눌려도 반응이 없다면, 현재 compinit가 없는 것이기 때문에, 아래 내용처럼 설치부터 진행을 해야 한다.
brew install zsh-completions
설치를 진행하면 아래와 같이 몇가지 추가로 작업을 진행하라는 내용을 알 수 있다.
==> Caveats
To activate these completions, add the following to your .zshrc:
if type brew &>/dev/null; then
FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
autoload -Uz compinit
compinit
fi
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 -R go-w '/opt/homebrew/share/zsh'
==> Summary
🍺 /opt/homebrew/Cellar/zsh-completions/0.34.0: 151 files, 1.2MB
==> Running `brew cleanup zsh-completions`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
이 내용대로 추가 작업을 진행하도록 하자.
먼저 .zshrc를 편집기를 실행하여 아래의 내용을 추가한다.
vi ~/.zshrc
if type brew &>/dev/null; then
FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
autoload -Uz compinit
compinit
fi
위 내용을 추가하면, 자동 완성을 다시 빌드해야 할 수 있다고 한다. 현재 생성된 zcompdump를 삭제하고 다시 실행해보도록 하자.
rm -f ~/.zcompdump; compinit
필자이 맥북 Pro M1 버전에서는 별도의 오류가 나타나지 않았다.
만약 경고 오류가 발생하면 아래 명령을 실행한 이후 위 명령을 다시 실행하자.
chmod -R go-w '/opt/homebrew/share/zsh'