이 가이드는 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 install
과 npm 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.osx
를zsh
로 설정하여 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
명령어를 입력하면 됩니다. 이 명령어를 통해 테마의 다양한 시각적 요소를 재설정할 수 있습니다.