1 분 소요

zsh, oh-my-zsh

mac의 터미널을 보다 보기 편하고 편리한 기능을 가지고 있는 oh-my-zsh의 설치 방법에 대해 알아보도록 하겠다.

zsh 설치확인

zsh --version

설치가 안되어 있으면

brew install zsh

기본 쉘을 zsh로 바꾸기

chsh -s `which zsh`
echo $SHELL

iterm2 종료 후 재실행

oh-my-zsh 설치

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

oh-my-zsh 테마 설정 - agnoster 테마 적용

  • ~/.zshrc 파일 열기
#atom 사용
atom ~/.zshrc

#vim 사용
vim ~/.zshrc
  • 해당 파일에 아래 내용 추가

    ZSH_THEME=”agnoster”

  • 변경한 내용 적용

    source ~/.zshrc

해당 테마를 적용하면 별로 예쁘지 않게 나오는데 iterm2의 배경을 Solarized Dark로 변경하면 예쁘게 나온다.

  • Solarized Dark로 변경
  1. iterm2 실행
  2. cmd + , (iterm2의 preferences로 진입)
  3. Profiles 메뉴로 이동
  4. Profiles의 Colors 탭으로 이동
  5. 우측 하단의 Color Presets 샐렉트 박스 클릭 후 Solarized Dark 선택
before before
해당 소스 적용 전후 사진

깨지는 폰트 잘나오도록 폰트 설정 변경

네이버 코딩 글꼴, Ubuntu_Mono_derivative_Powerline 등 깨지는 않는 글꼴로 변경이 필요하다.

  • 네이버 코딩 글꼴 다운 위치

https://developers.naver.com/opensource/tools/editor/

  • Ubuntu_Mono_derivative_Powerline 글꼴 다운 위치

https://github.com/powerline/fonts/tree/master/UbuntuMono

  • 글꼴을 설치한 후 iterm2에 적용
  1. iterm2 실행
  2. cmd + , (iterm2의 preferences로 진입)
  3. Profiles 메뉴로 이동
  4. Profiles의 Text 탭으로 이동
  5. Change Font 버튼 클릭 후 해당 글꼴 선택

사용자 이름 나오게 않게 변경

  • ~/.zshrc 파일 열기

    #atom 사용 atom ~/.zshrc

    #vim 사용 vim ~/.zshrc

  • 해당 파일에 아래 내용 추가

    prompt_context() { }

  • 변경한 내용 적용

    source ~/.zshrc

before after
해당 소스 적용 전후 사진

멀티라인 적용

폴더의 depth가 깊어지거나, 창의 넓이가 좁으면 명령어의 영역이 좁아져서 가독이 나빠진다.

이를 해결하기 위해 멀티라인을 적용한다.

해당 함수는

http://totuworld.github.io/2016/04/08/zsh2line/

위 블로그의 작성글을 참고하여 적용하였다.

아래 명령어는 agnoster 테마를 적용한 경우를 예를 들었다.

  • agnoster 테마 설정파일 파일 열기

    #atom 사용 atom ~/.oh-my-zsh/themes/agnoster.zsh-theme

    #vim 사용 vim ~/.oh-my-zsh/themes/agnoster.zsh-theme

  • 해당 파일에 아래 내용 추가

prompt_newline() {
  if [[ -n $CURRENT_BG ]]; then
    echo -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR
    %{%k%F{blue}%}$SEGMENT_SEPARATOR"
  else
    echo -n "%{%k%}"
  fi
  echo -n "%{%f%}"
  CURRENT_BG=''
}
  • 기존 함수 수정

    ## Main prompt build_prompt() { RETVAL=$? prompt_status prompt_virtualenv prompt_context prompt_dir prompt_git prompt_hg prompt_newline prompt_end }

  • 변경한 내용 적용

    source ~/.oh-my-zsh/themes/agnoster.zsh-theme

최종적용 모습

참고

https://nolboo.kim/blog/2015/08/21/oh-my-zsh/

https://wayhome25.github.io/etc/2017/03/12/zsh-alias/

http://totuworld.github.io/2016/04/08/zsh2line/

태그:

카테고리:

업데이트:

댓글남기기