🐧 Linux, shell, web server/Shell

zsh + oh my zsh + plugins

DarrenKwonDev 2020. 12. 20. 03:34

bash만 쓰다가 리눅스에서 뭔가 할 일이 생겨서 외면해왔던 zsh를 사용해보기로 하였다.

터미널에서 C/C++ 코딩을 하다보면 터미널만 써야할 때가 있고, zsh는 필수적으로 사용하게 된다. (bash가 나쁘다는게 아니다.)

 

왜? oh my zsh의 auto complete가 편하기 때문이다. 중간만 일치해도 자동 완성을 해주고, 명령어 history 조회도 쉬워진다.

게다가 oh-my-zsh를 설치했다면 해당 파일에 .git 폴더가 있다면 git branch를 표시해준다. 현재 작업중인 브랜치와 파일 변경상태 및 커밋상태가 프롬프트에 표시하여 master branch에 커밋하는 잘못된 짓을 저지르지 않게 도와준다. (만약 표시를 해주지 않는다면 .zshrc 설정에서 plugins 부분에 git을 추가해주자)

 

zsh 설치

// 설치
sudo apt-get install zsh

// zsh 위치 확인. 대개 /usr/bin/zsh에 설치되어 있음
which zsh

// 기본 shell을 zsh로 변경해줍니다.
chsh -s /usr/bin/zsh  

// 현재 사용 중인 shell 확인
echo $0 

 

oh-my-zsh 설치

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

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

 

테마 수정 => 대개 agnoster 사용

 

기본 테마인 robbyrussell은 가독성이 안 좋으니 다른 걸로 사용해야 한다.

.zshrc 파일을 수정하여 테마를 수정할 수 있습니다. ys 테마나 agnoster 테마로 변경합시다. (참고로, 내장이라 별도 설치는 필요 없습니다.)

어쨌거나 취향이다.

// .zshrc 수정
vi ~/.zshrc

// 테마 수정
// agnoster나 ys 추천
// 원하는 테마로 설정 https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="ys" 


// 적용
source ~/.zshrc

// 설정 후 재시작해줘야 한다.

 

만약 폰트가 깨질 경우 여기로 가셔서 Powerline 지원 폰트를 설치해주시고 설정해주자.

# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts

 

설치한 후 iterm2에서 text 설정 부분을 보면, [fontname] for powerline 꼴로 표시되어 있는데, 이 폰트들은 agnoster에서도 깨지지 않는다.

 

 

 

* agnoster 색깔이 너무 진한데 어떻하죠?

Colors presets를 원하는 걸로 골라봅시다.

 

외부 Plugin 설치 경로

zsh 플러그인의 설치경로는 기본적으로 아래와 같다.

/home/유저명/.oh-my-zsh/custom/plugins/플러그인명

 

또는 $ZSH_CUSTOM 을 호출하면 zsh 커스텀 폴더의 경로를 출력한다.

$ZSH_CUSTOM/plugins/플러그인명

 

웹에서 설치하고 싶은 플러그인을 다운받아 위의 경로에 넣어주면 된다.

 

zsh에 자동완성 기능을 추가해주는 zsh-autosuggestions 을 설치해보자.

github에서 플러그인 파일들을 다운로드받아서 $ZSH_CUSTOM/plugins/zsh-autosuggestions 의 경로에 저장하는 명령이다.

git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

이후 vi ~/.zshrc을 입력하여 설정 파일을 수정합니다. plugins 부분에 zsh-autosuggestions를 추가

각 플러그인은 띄어쓰기로 구분합니다.

plugins=(
git zsh-autosuggestions
)

 

source ~/.zshrc 로 재시작하니 아래 처럼 자동 완성된 부분이 희미하게 보이게 된다.

 

 

이외의 별도 플러그인을 마음대로 설치하면 된다.

 

 

필자가 사용하는 plugins

 

zsh-syntax-highlighting

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

 

 

reference)

 

the-illusionist.me/47

 

우분투에 zsh와 oh my zsh 설치하기

꽤 오랫동안 우분투 기본 shell인 bash를 사용하고 있었습니다. 가볍게 쓰고 있었기 때문에 불편함은 딱히 못 느끼고 있었죠. 요 근래 공부와 개인 프로젝트 등으로 인해 shell을 많이 쓰게 되면서

the-illusionist.me