iTerm2 커스텀하기

단이·2024년 1월 11일
1

시작하기에 앞서, Zsh에 대한 이해가 있으면 좋으므로 Zsh에 대한 간단한 이해를 하고 커스텀을 하면 더 좋다.

참고 : [개발 환경] iTerm2로 터미널 커스텀하기

맥에 있는 기본 터미널을 사용해도 되지만, 조금 더 편리한 기능이 탑재 되어있는 터미널을 사용하고 싶어 iTerm2를 다운 받고 커스텀 해보려고 한다. 해당 글은 모두 M1칩 맥북을 기준으로 한다.


✏️iTerm2 설치 및 커스텀 준비

  1. https://iterm2.com/ 해당 사이트에 들어가 iTerm2를 다운로드 받는다.
  2. https://brew.sh/ 해당 사이트에 들어가 Install Homebrew 아래에 있는 명령어를 복사하여 iterm2를 켜서 명령어창에 붙여넣는다. (이미 설치 돼 있으면 2단계 생략)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

터미널에 help brew 를 입력해서 homebrew를 실행하면 아래와 같은 오류가 뜬다. M1칩을 사용하면 나타나는 오류라고 한다.

zsh: command not found: brew

이 명령어가 나타난다면 아래 명령어를 입력해주면 정상적으로 해결된다.

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
  • M1칩에서는 기존의 맥들과 다른 아키텍처 때문에 호환성 문제가 가끔 생긴다고 한다.
  • Homebrew는 macOS 및 Linux 운영 체제에서 손쉽게 소프트웨어를 설치하고 관리할 수 있도록 도와주는 패키지 관리자(Package Manager)로 우리가 좀 더 편리하게 패키지들을 관리할 수 있게 해준다.
  1. zsh패키지와 oh-my-zsh를 설치한다. 차례로 밑 두 명령어를 입력한다.
#zsh install
brew install zsh

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

✏️iTerm2 컬러 테마 바꾸기

컬러 테마도 내가 맘에 드는 걸로 하면 눈이 즐거우니 색을 골라보자.

  1. https://iterm2colorschemes.com/ 사이트에 들어가 마음에 드는 테마를 찾아 클릭하고 코드가 가득한 창이 나오면 해당 url 복사
  2. curl 패키지가 설치 돼 있는지 확인
curl --version

만일 설치 돼 있지 않다면

#curl 설치
brew install curl
  1. 컬러 테마 다운로드
#테마를 다운받을 디렉토리 생성 후 해당 디렉토리로 이동
mkdir theme && cd theme
#curl -L0 을 입력한 후 복사한 url을 붙여넣으면 됨
curl -L0 curl -LO https://raw.githubusercontent.com/mbadolato/iTerm2-Color-Schemes/master/schemes/Snazzy.itermcolors
#다운로드 된 테마 확인
ls
#ls를 치면 Snazzy.itermcolors과 같이 떠야 다운로드 된 것 아무것도 안 뜨면 다운로드에 실패한 것이다.
  1. 다운로드 된 컬러 테마를 터미널에 적용
    메뉴 막대의 iTerm2>Settings...>profiles>colors에 들어가서 우측 하단의 Color presets>import 클릭해서 컬러 테마를 저장했던 경로로 들어가 파일 open을 하고 다시 Color presets을 누르면 해당 테마가 나타나고 그 테마로 적용 후 설정을 나오면 됨

✏️iTerm2 터미널 테마 바꾸기

내가 지금 어느 브런치에 있는지 편하게 알 수 있는 agnoster라는 테마로 바꿀 것

  1. 터미널에 아래 명령어를 입력
#vi편집기로 해당 파일을 열기
vi ~/.zshrc
  1. 해당 파일에서 ZSH_THEME="agnoster"로 테마 바꾸기
  • i를 눌러 insert모드로 바꿔주면 입력 모드로 바뀌면서 수정 가능
  • esc를 누르고 :wq! 를 입력(파일 수정을 저장하고 나가기 명령어 수행)
  1. 터미널 종료 후 재시작해서 테마가 바뀌었는지 확인

✏️폰트 변경

여러 기호들로 인해 폰트 깨짐 현상이 일어나기 때문에 폰트도 변경 해줄 것

  1. Naver D2폰트 다운으로 들어가서 폰트 다운로드 및 압축해제 후 서체 설치
  2. iTerm2>Settings>profiles>text에서 폰트 교체

✏️컴퓨터명(호스트명) 안 보이게 하기

danee@Danees-MacBook-Air ~ 터미널에 이렇게 뜨면 너무 길기 때문에 호스트명을 제외하고 뜨게 해줄거임

  1. vi ~/.zshrc를 열고 아래 코드를 추가
 prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}
  • 테마 바꾸기에서 한 것처럼 수정모드와 저장 후 터미널 재실행을 하면 됨

✏️New Line적용하기

  1. agnoster테마를 적용한 기준으로 아래 명령어 입력
vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
  1. 하단에 있는 build_prompt() 명령어 줄 사이에 prompt_newline을 추가
  • prompt_hgprompt_end 사이에 순서를 지켜 추가해야 함
build_prompt() {
  RETVAL=$?
  prompt_status
  prompt_virtualenv
  prompt_context
  prompt_dir
  prompt_git
  prompt_bzr
  prompt_hg
  prompt_newline
  prompt_end
}
  1. 파일 제일 하단에 prompt_newline에 대한 함수 추가
prompt_newline() {
  if [[ -n $CURRENT_BG ]]; then
    echo -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR
%{%k%F{blue}%}$SEGMENT_SEPARATOR"
  else
    echo -n "%{%k%}"
  fi

  echo -n "%{%f%}"
  CURRENT_BG=''
}

✏️Syntax highlighting하기

사용하는 문법에 색상을 적용해주는 기능을 추가한다.

  1. 명령어 입력
#brew를 통해 설치하기
brew install zsh-syntax-highlighting
  1. vi 편집
vi ~/.zshrc

#들어가서 제일 하단에 해당 코드를 추가 후 저장하기(M1칩 기준 intell 맥은 다름)
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

⬆️ 참고 : M1 Terminal(iTerm2) 꾸미기: zsh-syntax-highlighting

✏️쉘에 원하는 이름과 이모티콘 띄우기

  1. 랜덤으로 원하는 이모티콘 띄우기
prompt_context() {
  # Custom (Random emoji)
  emojis=("🐱" "🔥" "🐶" "👑" "🐹" "🐼" "🐯" "🐴" "🌙" "⭐️" "🚀" "💡" "⚡️" "✨" "☀️" "🌙")
  RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
  #prompt_segment black default "{원하는사용자명} ${emojis[$RAND_EMOJI_N]} "
  prompt_segment black default "Danee ${emojis[$RAND_EMOJI_N]} "
}
  1. 하나의 이모티콘만 뜨게 하기
prompt_context() { 
  emojis=("🚀")
  prompt_segment black default "${emojis}"
}

⬆️ 참고 : iTerm2 없이 터미널 꾸미기

✏️상태바 추가

  • Settings>Profiles>Session로 가서 Status bar enabled활성화
  • Settings>Appearance Status bar location 위치 설정

원하는 기능들을 넣으면 됨

최종적으로 보이게 된 모습

0개의 댓글