MAC에 ZSH 설치하기

그동안 bash만 쓰다가 zsh를 쓰는 동료를 보고 반해서 바로 써보기로 결정했다. zsh은 뭘까? 바로 위키백과에 다음과 같이 정의되어 있다.

Z 셸은 상호작용 로그인 셸이자 셸 스크립트를 위한 강력한 명령 줄 인터프리터로 사용할 수 있는 유닉스 셸이다. Zsh는 bash, ksh, tcsh의 일부 기능을 포함하여 수많은 개선 사항이 갖추어진 확장형 본 셸이다. - 위키백과

여러 블로그 글들을 읽으면서 잘못된 내용도 혼재되어 있어, 작은 삽질을 했기 때문에 이곳에 기록을 해둔다.

현재 사용중인 OS는 High Sierra 10.13.6를 사용중이다.

zsh 업그레이드

맥에는 기본적으로 zsh이 설치되어 있다.

>> zsh --version
zsh 5.3 (x86_64-apple-darwin17.0)

하지만 현재 zsh의 버전은 5.5.1로 최신버전으로 업그레이드를 해보자.

설치 방법은 여러가지가 있지만 삭제가 깔끔한 brew를 이용한 설치를 선호하는 편이다.

>> brew install zsh

설치가 완료되면 chsh 명령으로 쉘을 변경하면 되는데, chsh -s $(which zsh) 커맨드로 쉘을 변경하라고 되어있는 글들이 많았다. 이 커맨드라인은 zsh이 이미 설치되어 있는 mac에 brew를 통해 설치하는 경우엔 맞지 않는 정보다.

brew를 통해 설치된 zsh의 경로는 /usr/local/bin/zsh 이다. 따라서 다음의 커맨드로 쉘을 변경한다.

chsh -s /usr/local/bin/zsh

이 후 로그아웃 후 다시 터미널을 실행하면 zsh로 환경이 변해있음을 알 수 있다.

>> echo $SHELL
/usr/local/bin/zsh

oh-my-zsh 설치하기

oh-my-zsh는 zsh의 가장 유명한 플러그인이다. 더 많은 기능과 테마를 제공한다.
oh-my-zsh 설치는 다음 두가지 방법 중 하나로 설치할 수 있다.

# curl을 활용하는 방법
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# wget을 활용하는 방법
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

설정하기

zsh의 설정파일은 ~/.zshrc 이며 이 파일을 열어 편집한다.

테마 변경하기

.zshrc 파일을 열어 살펴보면 다음과 같이 기본 테마가 설정되어 있는 것을 확인할 수 있다.

...
ZSH_THEME="robbyrussell"
...

https://github.com/robbyrussell/oh-my-zsh/wiki/Themes 에서 테마들을 참고하여 값을 변경 하며, 재미있는 사실은 random도 지원한다!

Plugins

.zshrc 파일엔 다음과 같은 설정도 있다.

plugins=(git bundler osx rake ruby)

~/.oh-my-zsh/plugins 경로에 252개의 플러그인들이 저장되어 있다. (2018-08-27 기준)

나는 다음과 같은 플러그인을 사용 중 이다.

plugins=(
  git
  battery
  osx
  zsh-syntax-highlighting
  django
  docker
  extract
  jsontools
  jump
)

아래 추가로 설치한 플러그인도 있으며 관련 정보를 링크해 둔다.

  • zsh-autosuggestions
    • https://github.com/zsh-users/zsh-autosuggestions
  • virtualenv-autodetect
    • https://github.com/egilewski/virtualenv-autodetect
  • zsh-syntax-highlighting
    • https://github.com/zsh-users/zsh-syntax-highlighting

현재 사용중은 아니지만 추천할만한 플러그인도 링크한다.

  • alias-tips
    • https://github.com/djui/alias-tips
namioto's profile image

namioto

2018-08-27 21:41

Read more posts by this author