우분투 사용에 bash로도 충분하지만, zsh 사용하면 git 관리가 좀 더 편하고 유용하여 기본 쉘로 zsh를 주로 사용하게 되었다. 우분투 설치를 2년만에 하다보니, 예전에 설정했던 기억이 거의 없어지는 관계로 간단히 정리둔다.
우선 zsh 및 sytax-highlight를 apt로 설치하고, wget을 사용하여 oh-my-zsh를 설치하도록 한다.
$ sudo apt install zsh zsh-syntax-highlighting
$ sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
zsh과 oh-my-zsh를 설치하였다면, 아래 명령어를 사용하여 기본쉘을 zsh로 변경하도록 한다.
$ chsh -s /bin/zsh
그리고 테마를 robbyrussell에서 agnoster로 변경하고 syntax-highlight가 적용되도록 아래와 같이 수정하도록 한다.
$ vi ~/.zshrc
...
ZSH_THEME="agnoster"
...
# 맨 마지막 라인에 추가
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
마지막으로 커맨드 라인을 개행되어 작성하기 위해 agnoster 테마 파일을 아래와 같이 수정해야 한다.
$ vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
...
# newline() 추가
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_aws
prompt_context
prompt_dir
prompt_git
prompt_bzr
prompt_hg
prompt_newline # 추가
prompt_end
}
zsh 다양한 플러그인을 추가하면 좀 더 이쁘고 편한 환경을 구성할 수 있지만, 이 정도만 추가하여도 bash보다 가독성이 좋고 git 사용에 불편함이 많이 줄어든다.