oh-my-zsh는 zsh의 설정(~/.zshrc)을 테마와 플러그인 단위로 관리하게 해 주는 프레임워크다. macOS는 zsh가 기본 셸이라 설치하자마자 쓸 수 있다.
자주 쓰는 구성
- powerlevel10k 테마: 현재 디렉터리, git 상태, 가상환경 이름을 프롬프트에 보여준다.
p10k configure로 마법사를 다시 돌릴 수 있다. 아이콘이 깨지면 터미널·에디터 폰트를 Nerd Font 계열로 바꾼다 - zsh-autosuggestions: 히스토리에서 이어질 명령을 회색으로 미리 보여준다
- zsh-syntax-highlighting: 잘못된 명령을 입력 중에 빨갛게 표시한다
- git 플러그인:
gst,gco같은 git 별칭 묶음
# ~/.zshrc 일부
ZSH_THEME="powerlevel10k/powerlevel10k"
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
alias ls="lsd" # 아이콘이 붙는 ls 대체
alias cat="bat" # 문법 강조가 되는 cat 대체외부 플러그인은 ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins 아래에 clone한 뒤 plugins에 이름을 넣는다. 고친 뒤에는 source ~/.zshrc로 다시 읽는다(환경변수 스코프와 source).
주의
- 플러그인이 많을수록 셸 시작이 느려진다. powerlevel10k의 instant prompt가 이를 일부 가려준다
cat을bat으로 덮어쓰면 스크립트에서 동작이 달라질 수 있어, 대화형 셸에서만 적용되게 한다- 디렉터리별 환경변수가 필요하면 direnv 훅(
eval "$(direnv hook zsh)")을 붙인다
화면 분할은 tmux 기초, 편집기 키 바인딩은 IDE에서 Vim 쓰기과 함께 맞추면 손이 덜 바쁘다.