Zsh/Oh My Zsh 설정 가이드: Mac 터미널을 나만의 작업 환경으로

이 가이드는 Mac 터미널에서 Zsh와 Oh My Zsh를 설치하고, 필수 플러그인과 테마를 활용하여 개발 생산성을 높이는 강력한 커스터마이징 방법을 제공합니다. 나만의 효율적인 작업 환경을 구축해 보세요.

Zsh와 Oh My Zsh, 왜 써야 할까요?

macOS Catalina부터 기본 셸이 Bash에서 Zsh로 변경되었습니다. Zsh(Z Shell)는 Bash보다 훨씬 강력하고 유연한 기능을 제공하여 개발자와 파워 유저에게 인기가 많습니다. 자동 완성, 히스토리 관리, 확장된 파일 이름 globbing 등 다양한 개선 사항이 포함되어 있죠.

여기에 Oh My Zsh는 Zsh 설정을 관리하는 오픈소스 프레임워크로, 수많은 플러그인과 테마를 손쉽게 적용할 수 있게 해줍니다. 터미널 환경을 놀랍도록 강력하고 시각적으로 매력적으로 만들어주는 핵심 도구입니다. 복잡한 설정 없이도 몇 분 안에 전문적인 개발 환경을 구축할 수 있습니다.

사전 준비

  • Homebrew 설치: Mac에서 패키지 관리를 위해 Homebrew를 설치하는 것이 좋습니다. 아직 설치하지 않았다면 다음 명령어를 터미널에 입력하세요.
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 기본 터미널 지식: 기본적인 터미널 명령어(cd, ls 등) 사용 경험이 있으면 좋습니다.

Zsh 기본 설치 및 셸 변경

macOS Catalina 이상 버전에서는 Zsh가 기본으로 설치되어 있습니다. 하지만 혹시 모를 상황이나 최신 버전 설치를 위해 Homebrew를 통해 설치하고, 시스템 기본 셸로 설정하는 방법을 알아봅니다.

1. Zsh 설치 확인 및 업데이트

먼저 현재 셸이 무엇인지 확인합니다.

echo $SHELL

만약 /bin/zsh가 아니라면, Homebrew를 이용해 최신 Zsh를 설치하거나 업데이트합니다.

brew install zsh

2. Zsh를 기본 셸로 설정

설치가 완료되면, Zsh를 시스템의 기본 셸로 변경해야 합니다.

chsh -s $(which zsh)

이 명령어를 실행한 후 터미널을 다시 시작하면 Zsh가 기본 셸로 적용됩니다.

Oh My Zsh 설치 및 초기 설정

Zsh가 준비되었다면, 이제 Oh My Zsh를 설치하여 Zsh의 잠재력을 최대한 끌어올려 보겠습니다.

1. Oh My Zsh 설치

가장 일반적인 설치 방법은 curl 또는 wget을 사용하는 것입니다.

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

설치가 완료되면 기본 테마인 robbyrussell이 적용된 Zsh 셸을 만나게 될 것입니다.

2. .zshrc 파일 이해하기

Oh My Zsh가 설치되면 사용자 홈 디렉토리(~)에 .zshrc라는 설정 파일이 생성됩니다. 이 파일은 Zsh 셸의 모든 설정(테마, 플러그인, 별칭 등)을 제어하는 핵심 파일입니다. nano, vi 또는 code와 같은 텍스트 에디터로 열어볼 수 있습니다.

code ~/.zshrc # VS Code를 사용하는 경우
# 또는
nano ~/.zshrc

필수 플러그인 추천 및 적용 (z, autosuggestions, syntax-highlighting)

Oh My Zsh의 가장 큰 장점은 강력한 플러그인 생태계입니다. 몇 가지 필수 플러그인을 소개하고 적용하는 방법을 안내합니다.

1. z (빠른 디렉토리 이동)

가장 자주 사용하는 디렉토리로 빠르게 이동할 수 있게 해주는 플러그인입니다. cd 명령어를 입력하지 않고도 디렉토리 이름을 기반으로 이동합니다.

  • 설치: Oh My Zsh에 기본 내장되어 있으므로 .zshrc 파일에서 활성화하기만 하면 됩니다.

2. zsh-autosuggestions (자동 완성)

과거 명령 기록을 기반으로 명령어를 실시간으로 제안하여 입력 시간을 크게 줄여줍니다.

  • 설치:
    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

3. zsh-syntax-highlighting (구문 강조)

터미널에 입력하는 명령어의 구문을 실시간으로 강조하여 오타를 쉽게 식별하고 가독성을 높여줍니다.

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

4. 플러그인 활성화

위에서 설치하거나 사용할 플러그인들을 .zshrc 파일의 plugins 배열에 추가합니다.

# ~/.zshrc 파일
plugins=(
    git
    z
    zsh-autosuggestions
    zsh-syntax-highlighting
)

변경 사항을 저장한 후, 터미널에 다음 명령어를 입력하여 적용합니다.

source ~/.zshrc

이제 터미널에서 ls -를 입력해 보거나, 자주 가는 디렉토리로 z 명령어를 사용해 보세요. 자동 완성 및 구문 강조가 활성화된 것을 볼 수 있습니다.

테마 변경으로 터미널 시각화

Oh My Zsh는 다양한 테마를 제공하여 터미널의 모양을 사용자 지정할 수 있게 합니다.

1. 인기 테마 둘러보기

Oh My Zsh가 제공하는 테마 목록은 GitHub 저장소에서 확인할 수 있습니다.
개인적으로 추천하는 테마는 다음과 같습니다:

  • agnoster: Git 상태, 사용자 이름, 현재 디렉토리를 보기 좋게 표시합니다. Powerline 폰트가 필요합니다.
  • powerlevel10k: 극강의 커스터마이징이 가능하며 빠르고 강력합니다. 설치 후 별도 설정 마법사를 통해 개인화할 수 있습니다.

2. 테마 적용 방법

.zshrc 파일에서 ZSH_THEME 변수의 값을 변경하여 테마를 적용할 수 있습니다.

예시 (agnoster 테마 적용):

# ~/.zshrc 파일
ZSH_THEME="agnoster"

powerlevel10k의 경우, 설치 스크립트가 .zshrc를 자동으로 수정해 주며, 설치 후 p10k configure 명령어로 설정을 시작할 수 있습니다.

테마 변경 후에는 반드시 source ~/.zshrc 명령어로 적용하거나 터미널을 다시 시작하세요.

.zshrc 파일 활용 고급 커스터마이징

.zshrc 파일은 플러그인과 테마 외에도 다양한 방식으로 터미널 환경을 개인화할 수 있는 강력한 도구입니다.

1. 별칭(Aliases) 설정

자주 사용하는 긴 명령어를 짧게 줄여 별칭으로 사용할 수 있습니다.

# ~/.zshrc 파일
alias ll='ls -alF'
alias cls='clear'
alias gco='git checkout'

이제 ll만 입력해도 ls -alF가 실행됩니다.

2. 환경 변수 설정

자주 사용하는 경로 등을 환경 변수로 지정하여 편리하게 사용할 수 있습니다.

# ~/.zshrc 파일
export PATH="/usr/local/bin:$PATH"
export EDITOR="code" # 기본 에디터를 VS Code로 설정

3. 사용자 정의 함수 (Custom Functions)

더 복잡한 로직이 필요하다면 함수를 직접 정의할 수 있습니다.

# ~/.zshrc 파일
my_project_starter() {
    cd ~/Projects/$1
    npm install
    npm start
}

이제 my_project_starter my-app을 입력하면 해당 디렉토리로 이동하여 npm installnpm start를 연속으로 실행합니다.

설정 검증

  • Zsh 셸 확인: echo $SHELL 명령어로 /bin/zsh가 출력되는지 확인합니다.
  • Oh My Zsh 설치 확인: 터미널 시작 시 robbyrussell 또는 설정한 테마가 적용되어 나타나는지 확인합니다. omz version 명령어로 Oh My Zsh 버전 확인도 가능합니다.
  • 플러그인 동작 확인:
    • z 플러그인: 자주 가는 디렉토리로 z [디렉토리명] 입력 후 이동되는지 확인합니다.
    • autosuggestions: 명령어를 입력할 때 회색으로 추천 명령어가 나타나는지 확인합니다.
    • syntax-highlighting: 명령어 입력 시 구문이 색상으로 강조되는지 확인합니다.
  • 별칭 확인: alias 명령어를 입력하여 설정한 별칭들이 잘 등록되어 있는지 확인합니다.

발생 가능한 에러 및 해결책

  • Zsh가 기본 셸로 변경되지 않음: chsh -s $(which zsh) 명령 후 터미널을 완전히 종료하고 다시 실행해야 합니다. 그래도 안 된다면 시스템 환경설정에서 사용자 및 그룹 > 고급 옵션으로 가서 로그인 셸을 /bin/zsh로 직접 변경해 보세요.
  • 플러그인 또는 테마가 적용되지 않음: .zshrc 파일을 정확히 수정했는지 확인하고, source ~/.zshrc 명령어를 실행하여 변경사항을 적용했는지 확인합니다. 오타나 구문 오류가 없는지 다시 확인해 보세요.
  • Agnoster 또는 Powerlevel10k 테마 깨짐: 이 테마들은 Powerline 또는 Nerd Font를 필요로 합니다. 폰트가 설치되어 있지 않다면 깨져 보일 수 있습니다. Nerd Fonts에서 폰트를 다운로드하여 설치하고, 터미널 앱(iTerm2 또는 내장 터미널)의 설정을 열어 폰트를 변경해야 합니다.
  • 명령어 z가 작동하지 않음: z 플러그인이 plugins=(...) 배열에 z로 추가되어 있는지 확인하세요. 또한 z 플러그인은 자주 방문하는 디렉토리 정보를 학습하는 데 시간이 필요합니다. 몇 번 cd 명령어로 디렉토리를 이동한 후 다시 시도해 보세요.

추가 응용

  • iTerm2와 함께 사용하기: macOS 기본 터미널보다 더 많은 기능을 제공하는 iTerm2와 Oh My Zsh를 함께 사용하면 시너지가 극대화됩니다. iTerm2의 테마, 색상 스키마, 단축키 등을 설정하여 더욱 강력한 환경을 구축해 보세요.
  • Git prompt 커스터마이징: Oh My Zsh의 Git 플러그인은 현재 Git 저장소의 브랜치, 변경 사항 등을 프롬프트에 표시해 줍니다. .zshrc에서 PROMPT 변수를 수정하거나, powerlevel10k 같은 테마를 사용하면 Git 정보를 더욱 상세하고 보기 좋게 표현할 수 있습니다.
  • VS Code 터미널 연동: VS Code의 내장 터미널도 Zsh/Oh My Zsh 설정을 따릅니다. settings.json에서 terminal.integrated.defaultProfile.osxzsh로 설정하여 VS Code에서도 동일한 환경을 사용할 수 있습니다.

자주 묻는 질문 (FAQ)

Q1: Oh My Zsh를 제거하려면 어떻게 해야 하나요?

A1: Oh My Zsh를 제거하려면 터미널에 uninstall_oh_my_zsh 명령어를 입력하면 됩니다. 이 명령어는 Oh My Zsh 관련 파일을 삭제하고 기본 셸을 다시 Bash로 변경할지 묻습니다.

Q2: .zshrc 파일에 변경사항을 저장했는데 적용이 안 돼요.

A2: .zshrc 파일을 수정한 후에는 반드시 터미널에서 source ~/.zshrc 명령어를 입력하거나, 터미널 앱을 완전히 종료했다가 다시 실행해야 변경사항이 적용됩니다.

Q3: Powerlevel10k 테마 설정은 어떻게 다시 시작하나요?

A3: Powerlevel10k 테마의 설정 마법사를 다시 실행하려면 터미널에 p10k configure 명령어를 입력하면 됩니다. 이 명령어를 통해 테마의 다양한 시각적 요소를 재설정할 수 있습니다.

 

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top