Programming/OS, Program, Framework Tip

Zsh with Oh My Zsh - Bash를 대체할 대세 Shell

awesometic 2018. 2. 8. 17:02
반응형

Z Shell with Oh My Zsh

Bash는 정말 강력하면서 간단한 Shell입니다. 하지만 더 간단하고 이쁜 게 있었어요. 플러그인으로 기능 추가도 되는 Shell입니다.

Oh My Zsh 에 플러그인 두 개를 설치하고 한 3주 정도 써봤는데, 제가 느꼈던 좋은 점들은..

  • 경로 자동 완성
  • /usr/local/bin 은 /u/lo/b + tab 으로 완성됩니다. 경로가 하나일 때만 전체 경로가 자동으로 완성돼요.

  • 스펠링 검사
  • 없는 명령어는 빨간색으로 표시됩니다. 있는 명령어는 초록색으로 표시돼요. 그리고 quote 안의 문자열은 노란색으로 표시됩니다. 또한 스펠링 검사 및 제안 기능도 있습니다.

  • 명령어 자동 완성
  • history 기반으로 명령어(command line)가 자동 완성됩니다. 만약 이전에 복잡한 명령어를 입력한 적이 있을 때, 그 명령어를 똑같이 치려할 때 자동으로 완성해줍니다.

  • git
  • 자주 쓰는 git 관련 명령어들이 3, 4 글자 내외로 alias 되어 있습니다. git status 는 gst 만 입력하시면 돼요. 또한 git repository 디렉토리로 이동하면 작업중인 branch와 간단한 status를 확인할 수 있어요.

  • tab 키를 이용한 경로 선택
  • ls -al /dev/sd... 뭐더라? 하면서 tab을 누르곤 합니다. 이 때 나열되는 경로들을 4방향 방향키로 선택할 수 있어요. 기존엔 tab으로 확인 후 그대로 조금 입력해서 다시 tab으로 완성시키거나 tab을 여러번 눌렀죠.

  • 디렉토리 이동 alias
  • "~" 만 입력하면 home 디렉토리로 이동합니다. ".." 은 "cd ..", "..." 은 "cd ../../" 입니다. 그리고 "-" 를 입력하면 바로 직전에 있었던 디렉토리로 이동해요. "1"..."9" 는 각각 "cd -1"..."cd -9" 입니다. 편해요.

  • 생각나지 않는 여러 기능들과 내가 모르는 기능들 등등

설치해보세요. 사용하다 마음에 안 들면 기본 쉘을 다시 Bash로 바꾸면 됩니다.


설치

간단합니다. 먼저 zsh를 설치해주세요. curl이 없다면 curl도 설치해야 합니다.

macOS

brew install zsh zsh-completions

Ubuntu/Debian

sudo apt install zsh

Oh My Zsh을 설치합니다.

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

자동으로 설치가 진행되고, 마지막에 zsh를 기본 쉘로 지정하기 위해 현 사용자 계정의 비밀번호를 입력합니다.

바로 플러그인 2개를 설치해줍니다.

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

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

플러그인을 적용시키기 위해 .zshrc를 수정합니다. 아래처럼 plugins=( ) 에 zsh-... 두 줄을 추가하면 됩니다.

vi ~/.zshrc
...

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
  git
  zsh-syntax-highlighting
  zsh-autosuggestions
)

...
source ~/.zshrc

다 설치됐어요. 간단한 예시 스크린샷을 보여드릴게요.

아래 스크린샷은 없는 명령어를 입력할때와 명령어 자동 완성 예시입니다. 보시면 바로 이해가 될 거예요.

스펠링 검사 기능을 켠 뒤 테스트해봤습니다.

그리고 git repository 디렉토리로 이동했을 때 입니다.

제 생각엔 현 시점에서 가장 모던한 쉘인 것 같습니다. 테마도 바꿀 수 있다고 하구요. macOS나 Linux 사용자라면 설치해보는 것을 추천합니다.


참고


반응형