본문 바로가기
Etc

Zsh - Mac tab 자동 완성 zsh-completions 설치하기

by 올엠 2022. 8. 1.
반응형

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'

 

반응형