Linux : WSL에 ZSH 설치 + agnoster + multiline
WSL
WSL은 window subsystem linux 를 말하며, cmd 밖에 이용하지 못하는 windows 유저들에게 linunx 커널을 쓰게 해준다는 것은 정말 신의 한수이다. 마치 windows 를 잘만하면 linux 처럼 사용이 가능하다. (물론 난 우분투가 좋다....ㅎㅎ)
ZSH 설치
sudo apt-get install zsh
ZSH 기본 shell로 변경
chsh -s /usr/bin/zsh
ZSH 설정
재부팅 후 terminal을 열면, 다음과 같은 창이 뜬다. 나는 (2)을 눌렀다. 직접 설정하려면 (1)을 설정하도록 한다.
oh-my-zsh 설치하기
sudo apt install curl
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
curl이 없다면 설치하고 그 후 다음 명령을 실행해서 oh-my-zsh을 깔아준다.
다 설치가 끝나면 현재 화면이 뜨면서 현재 디렉토리를 의미하는 ~ 하나만 나올 것이다.
agnoster로 변경하기
sudo vim ~/.zshrc
다음과 같이 나온다. ZSH_THEME="robbyrussell"로 나와있는 부분은 위와 같이 agnoster로 변경해준다.
깨지지 않는 font 다운로드 + 터미널 font 변경
아마 여기까지 하면 분명 font가 깨질 것이다. directory 구조가 삼각형으로 나와야하는데, 아마 양끝이 네모에서 끝날 것이다... 굉장히 화가나고 안 예쁜 상황.
https://github.com/powerline/fonts.git
위의 주소에서 github로 가서 폴더를 다운로드 받는다.
다운로드 받고 위의 가운데에 ttf 파일을 클릭해서 설치를 해준다.
다음과같이 DejaVu로 글꼴이 생겨있을텐데, 이 부분을 선택해준다.
multiline 적용하기 (agnoster)
vim ~/.oh-my-zsh/themes/agnoster.zsh-theme
위의 명령어를 실행한다. 근데 만약 내가 font를 agnoster를 하지 않았다면, font 이름과 맞게 선택해서 진행하도록 한다.
# 복사 붙여넣기 하기
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=''
}
# 이 부분은 prompt_newline만 추가로 넣기
## Main prompt
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
prompt_context
prompt_dir
prompt_git
prompt_hg
prompt_newline
prompt_end
}
# 여기는 원래 있던 부분
PROMPT='%{%f%b%k%}$(build_prompt) '
여기서 prompt_newline 부분을 순서를 end 위에 써야한다.
만약 순서를 바꾸게된다면 multiline이 적용되지 않는다. :wq 누르고 저장한다. 그리고 재부팅을 꼭 해줘야한다.
결과 화면
옆에 test 라고 되어있는 부분이 branch 명이다. 모두 마친다면 다음과 같이 branch 명과 아주 예쁘게 나올 것이다.
뿌듯.....
cf ) 배경색 바꾸기
만약 배경색이 맘에 들지 않는다면, 밑의 주소에서 배경색을 한 번 바꿔보도록 한다.
https://webdir.tistory.com/546