토리로그

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

사전 준비

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 명령어를 입력하지 않고도 디렉토리 이름을 기반으로 이동합니다.

2. zsh-autosuggestions (자동 완성)

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

3. 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 저장소에서 확인할 수 있습니다.
개인적으로 추천하는 테마는 다음과 같습니다:

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를 연속으로 실행합니다.

설정 검증

발생 가능한 에러 및 해결책

추가 응용

자주 묻는 질문 (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 명령어를 입력하면 됩니다. 이 명령어를 통해 테마의 다양한 시각적 요소를 재설정할 수 있습니다.