본문 바로가기
카테고리 없음

iTerm2로 터미널, Intellij 커스텀하기

by write_code 2022. 12. 30.

현재 저는 개발할 때 Mac과 Intellij를 사용하고 있는데요.

다른 사람들이 터미널을 커스텀해서 사용하는 것을 보고 해보고 싶다는 생각이 들었습니다.

기능적으로도 좋아보이고 보기에도 이뻐서 좋아보였습니다! 👍

찾아보니 터미널을 커스텀한다는 개념보다는 iTerms2라는 앱을 커스텀해서 사용하는 것이었습니다.

 

iTerms2 설치

iTerm2 공식 사이트에서 다운로드를 받으면 됩니다.

 

 

zsh 설치

zsh이란? 🤔

Z Shell이라고 불리고 상호작용 로그인 셸이자 셸 스크립트를 위한 강력한 명령 줄 인터프리터로 사용할 수 있는 유닉스 셸입니다.

기본적인 셸로도 많은 것이 가능하지만 zshbash, ksh, tcsh의 일부 기능을 포함하여 많은 개선사항을 갖춘 확장형 본 셸입니다.

커스텀이 비교적 자유로운 편이고, 설치 또한 간편한 장점이 있습니다.

 

zsh 장점

  • 경로 자동추론
  • 타이핑 교정
  • 명령어 추천
  • 다양한 플러그인

 

1. iTerm2 실행 후 homebrew 설치

  • zsh, oh-my-zsh를 설치하기 위해서 설치하는 패키지 매니저입니다!
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

2. zsh 설치

# zsh install
brew install zsh

 

3. oh-my-zsh 설치

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

 

agnoster 테마 설치

현재 디렉터리에서 Git의 상태를 알려주는 테마입니다.

 

1. zshrc 파일 수정하기

iterm에서 vi ~/.zshrc 라고 명령어를 입력합니다.

 

ZSH_THEME가 있는 부분에 "robyrussell"이라고 되어 있는 부분을 "agnoster"로 변경합니다.

찾기 어려우신 분들은 화면에서 /robyrussell 이라고 입력하고 엔터를 누르시면 해당 라인으로 커서가 이동됩니다.

i를 누르셔서 agnoster로 변경하신뒤 esc를 누르시고 wq를 누르신 뒤 엔터를 누르시면 됩니다.

이후 iTerm을 종료 후 다시 켜주면 됩니다.

 

아마 폰트가 깨져서 나올겁니다.

이 부분을 이제 해결해보도록 하겠습니다.

 

Font 적용

대부분의 분들이 D2 Coding Font를 적용하는 것 같아서 저도 해당 폰트로 적용했습니다.

https://github.com/naver/d2codingfont url에 접속하셔서 폰트를 다운로드 받습니다.

저의 경우에는 D2Coding-Ver1.3을 다운로드 받았습니다.

 

그리고 서체 관리자에서 컴퓨터로 선택하신 뒤 폰트를 추가해주셔야 합니다!

이후에는 iTerm Preference에서 Profile > Text로 들어가서 폰트를 변경해줍니다.

 

Color 테마 적용하기

iTerm2-color-schemes 라는 사이트에서 적용할 컬러 테마를 선택합니다.

 

저는 Snazzy라는 테마를 적용하려고 합니다.

해당 이름을 우클릭해서 다른 이름으로 링크 저장을 하게 되면 Snazzy.itermcolors라는 파일을 저장하게 됩니다.

이후에는 iTersPreference에서 Profile > Color로 들어가서 오른쪽 아래에 버튼을 클릭한 뒤 Import를 누르고 저장한 파일을 선택합니다.

그리고 Snazzy 테마를 적용하면 됩니다.

 

터미널에 보이는 사용자 이름 커스텀하기

vi ~/.zshrc 명령어로 파일을 열어줍니다.

 

파일의 맨 아래에 코드를 삽입한 뒤 원하는 이름을 넣어줍니다.

prompt_context() { 
  # Custom (Random emoji) 
  emojis=("⚡️" "🔥" "👑" "😎" "🐸" "🐵" "🦄" "🌈" "🍻" "🚀" "💡" "🎉" "🔑" "🚦" "🌙")
  RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1)) 
  prompt_segment black default "이름 ${emojis[$RAND_EMOJI_N]} " 
}

 

이름 부분에 원하는 텍스트로 변경해주시면 됩니다.

 

상태바 추가하기

상태바를 추가하기 위해서는

Preferences > Profiles > Session > Status bar enabled > Configure Status bar 순서대로 진행해서 원하는 내용들을 Status Bar에 추가하면 됩니다.

 

추가적으로 상태바의 위치를 설정하기 위해서는

Preferences > Appearance > Status bar location로 들어가셔서 원하는 위치에 적용하시면 됩니다.

 

New Line 적용하기

명령어 커서가 이름과 루트 옆에 있는 것이 아니라 하단에 있을 수 있도록 하는 기능입니다.

 

# 파일 열기
vi ~/.oh-my-zsh/themes/agnoster.zsh-theme

 

prompt_hgprompt_end 사이에 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 Highlight 적용

명령어들에게 하이라이트를 넣어주는 기능입니다.

 

zsh-syntax-highlighting 설치

brew install zsh-syntax-highlighting

 

.zshrc 파일 수정

vi ~/.zshrc

# default
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

# m1 mac
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

 

자동완성 기능 적용하기

iTerm에서 해당 명령어를 입력합니다.

git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

 

설치가 완료되면 .zshrc 파일에서 plugins 부분을 수정합니다.

 

iTerm을 종료 후 다시 실행하면 자동 완성 기능을 사용할 수 있습니다.

화면에 보이는 자동 완성 기능을 그대로 작성하고 싶다면 오른쪽 화살표를 눌러주시면 됩니다.

 

Intellij에서 iTerm 사용하기

본인의 입맛대로 바꾼 iTerm을 Intellij에서 사용하기 위해서 저는 위의 과정을 거쳤습니다!

Intellij에서 Preferences > Plugins에서 Native Terminal을 설치해줍니다.

Preferences > Other Settings를 보시면 Native Terminal Plugin이 있습니다.

거기에 iTerm 경로를 입력해주시면 됩니다.

 

저의 경우에는 위의 경로로 나타나는데요.

이후 Intellij의 터미널을 다시 실행하면 커스텀 된 iTerm를 사용할 수 있습니다.

 

참고자료

https://ooeunz.tistory.com/21

https://medium.com/harrythegreat/oh-my-zsh-iterm2%EB%A1%9C-%ED%84%B0%EB%AF%B8%EB%84%90%EC%9D%84-%EB%8D%94-%EA%B0%95%EB%A0%A5%ED%95%98%EA%B2%8C-a105f2c01bec

https://ko.wikipedia.org/wiki/Z_%EC%85%B8

https://velog.io/@uoayop/iTerm2-Oh-My-ZSH-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%BB%A4%EC%8A%A4%ED%85%80-%ED%95%98%EA%B8%B0

https://falaner.tistory.com/83

 

댓글