[Mac] Terminal 꾸미기

amberim·2024년 6월 29일

iTerm2 커스터마이징

터미널을 다시 세팅하게 된 이유.

iTerm2에서 Rectangle 화면분할 앱 단축키로 빠르게 화면분할 이동을 할때 터미널의 path바가 잔상이 여러겹으로 생기는 현상이 남.

왠지 powerlevel10k 때문인거 같아서 지워주고 수동으로 스타일링 해주기로함..
(정답이였음 이젠 잔상이 안남아요)
powerlevel10k는 zshell용 테마로 아주 쉽게 커스터마이징 할 수 있게 해줌.
그치만 뭔가 잘못된거 같으니 일단 powerlevel10k를 지워준다.

지우는 법은 powerlevel10k READ.md에 아주 자세히 나와있다.

powerlevel10k 깃허브 레포지토리

써져있는 대로 똑같이 하나하나 관련된 파일을 수정하거나 지워줬음.

그리고 개발자가 더 이상 이 프로젝트 개발은 안할거라 함. 사실 이 자체로 나무람 없지만 이미 버그를 겪은 김에 더욱이 지워주기로 마음먹음.
Pwerlevel10k repo READ.md

이제 다시 백지로 돌아왔으니 다시 깔아주면됩니다.
리셋된 iTerm2 이미지 미리 안찍은거 후회쓰…

이미 저는 Homebrew, iTerm2, Oh-My-Zshgit이 이미 설치가 되어 있지만 iTerm2가 아직 없다면 맥 기본 Terminal을 열어서 먼저 Homebrew를 설치해 줍니다.
(스포트라이트(cmd+spacebar)에서 Terminal 치면됩니다.)




먼저 설치 해줘야 하는 것들

Homebrew 설치

[Homebrew 공식사이트]

터미널에 아래 커맨드를 복붙

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

현재 shell 세션에서 Homebrew 환경설정

eval "$(/opt/homebrew/bin/brew shellenv)"

영구적으로 Homebrew 환경 추가

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile

설정 적용

source ~/.zprofile

brew 잘깔렸나 버전확인

brew --version

iTerm2 설치 (터미널 앱)

Homebrew를 이용해서 ITerm2 설치

brew install --cask iterm2

Git이 없다면 git도 설치

brew install git

이제 iTerm2가 깔렸으니 터미널을 닫고 iTerm2를 열어줍니다.

아니면 터미널에서 open -a iTerm 으로 iTem2 열기.

Oh-My-Zsh를 설치 (iTerm2에 아래 코드 복붙)

[Oh-My-Zsh] 로 다운받거나 아래 커맨드 실행.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"


이제 커스터마이징 시작

위의 부분이 선행되었다면 테마를 골라줍니다.

Theme 설정

[Oh-My-Zsh 깃허브 레포지토리]

테마는 위에 링크에서 고르실 수 있습니다. 저는 원래 썼던 powerlevel10k와 비슷한 agnoster를 골라줬습니다. 사실 이 테마를 많이들 쓰시는거 같습니다.

agnoster theme example

테마를 골랐다면 이름을 복사 하고

zsh 설정파일 열기 vim 이용

vim ~/.zshrc 혹은 vi ~/.zshrc 실행.

(와중에 vi가 vim의 alias인줄 알았는데.. vim은 “Vi improved”라고 vi의 개선된 버전이라는걸 알게됨..)

텍스트 창으로 편집하고 싶다면 아래 커맨드
(텍스트창으로 열면 그냥 일반 문서처럼 편집하고 저장하고 나가면 됨)

open ~/.zshrc

저는 vim을 썼습니다.

ZSH_THEME을 찾아서 본인이 원하는 테마로 바꾸고 저장해 줍니다.

ZSH_THEME="agnoster"

screenshot of .zshrc

*Vim에서 편집할때 (키보드로만 움직일 수 있음)
입력할때는 i를 눌러 insert 모드로 들어간뒤 편집합니다
= i 누르고 원래 설정되어있던 테마 지우고 agnoster 붙여줌

  • 붙여넣기 하고 다시 [esc]로 normal 모드로 돌아온 뒤 :wq 누르고 엔터치면 저장(w)하고 파일에서 나가기(q)가 됩니다.
    = [esc]로 편집 (i)모드에서 나와서 저장하고 나가기: (esc > :wq > enter)
  • vim에서 나온후 설정 적용을 위해,
    • source ~/.zshrc 커맨드를 쓰거나
    • 마우스로 앱을 껐다 키거나
    • exit 커맨드를 써주고 끄고 켜도 됨


폰트 설정

폰트도 한글쓰는 개발자는 이 폰트를 추천한다는 글이 많아서
나도 다운받아줌.
(어차피 폰트를 변경해야 Oh-My-Zsh 폰트 깨짐 문제 해결된다 하네요.)

[D2codding 레포지토리]

다운받고 설치 완료해주세요.

iTerm2 에서 (cmd + , )눌러 Setting을 열어주고,
Profile > Text 탭에서 아래 그림처럼 Font를 D2coding 으로 바꿔줍니다.
(저장없이 바로 적용됨.)

iTerm2 Text setting



Color Scheme 정하기

[iTerm 컬러 테마: https://iterm2colorschemes.com/]

여기서 마음에 드는 컬러를 고릅니다 (저는 Jubi 골랐습니다)
jubi color scheme example

Color scheme 이름은 눌러 이동 후 url을 복사해줍니다.

jubi color scheme url on the browser

터미널로 컬러를 저장할 디렉토리로 이동해서 아래 커맨드 실행.
(터미널로 디렉토리 이동해서 저장했다면 실행 끝나고 다시 ~를 쳐서 Home 디렉토리로 돌아와줌)

  curl -LO 방금 복사한 주소

혹은 이동없이 다운로드 디렉토리에 바로 저장하고 싶다면

  curl 방금 복사한 주소 --output ~/Downloads/파일이름지정
  

e.g) 다운로드 디렉토리에 바로 파일 이름 정해주고 저장.

curl https://raw.githubusercontent.com/mbadolato/iTerm2-Color-Schemes/master/schemes/jubi.itermcolors --output ~/Downloads/jubi
 

iTerm2 세팅을 열어줍니다 (cmd + ,)
Profile > Colors > 맨 아래 오른쪽 Color Presets > import > 방금 저장한 파일을 import 합니다.

iTerm2 Colors setting



유용한 Zsh Plugins 설치

brew로 설치해줘도 되지만

자는 git clone을 이용해서 플러그 인들을 설치했습니다.

1. zsh-syntax-highlighting: syntax를 하이라이트해서 가독성을 올려줍니다.
2. zsh-autosuggestions: 이전에 입력한 명령어를 기반으로 자동 완성이 추천됨.
3. web-search: iTerm2에서 바로 웹 서치를 할 수 있습니다.

zsh-syntax-highlighting 설치

  
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  

zsh-autosuggestions 설치

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  

Web-seearch 기본 플러그인이기 때문에 git clone 할 필요없습니다


위의 두가지를 설치해 주었으면 vim ~/.zshrc 로 설정파일을 열고
/plugins로 plungin을 찾아 괄호안에 plugin 이름들을 넣어줍니다.

plugins=(git zsh-autosuggestions zsh-syntax-highlighting web-search)
  

insert plugin names to apply

저장 후 vim에서 나와서 설정 적용을 위해 source ~/.zshrc 를 쳐주거나 iTerm2 앱을 껐다 킵니다.

screenshot of iTerm2 showing plugins applied

문법 highlight이 잘먹힌것과 git config까지 쳤지만 예전에 제가 썼던 --list 옵셥을 추천하는게 보입니다. (Syntax highlighting + Auto suggestion)


터미널에 google 하고 검색할 내용을 치면 브라우저 창이 뜨면서 검색한 내용을 보여줍니다. (web-search)

screenshot of iTerm2 showing web-search plugin has applied


컴퓨터 이름 말고 사용자 이름으로 표시

vim ~/.zshrc 열어 맨 아래에 이 코드를 넣어줍니다.

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

Demonstration of inserting code block on the .zshrc

저장후 설정파일을 적용하면 끝. source ~/.zshrc

저는 이미 변환을 하고 이미지를 찍지만 길었던 이름 부분이 이렇게 축약이 됩니다.
Result of demonstration showing username has shorten



줄바꿈 하기 (명령어 Path아랫줄부터 쓰기)

본인이 선택한 theme 수정 파일 열고
선택한 테마가 agnoster가 아니라면 본인 선택한 테마이름으로 넣어줘야됨.

vim ~/.oh-my-zsh/themes/agnoster.zsh-theme

맨 아래로 내려가 꼭 저 보라색 하이라이트된 위치에 넣어주고 **(위치중요)**
prompt\_newline

마지막에 이 함수를 넣어주고 저장 후 나가기 :wq

  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=''
}

etiting .zshrc to apply function

저장 후 설정파일 적용: source ~/.zshrc

그럼 이렇게 커맨드를 디렉토리 패스 아래에 넣을수 있다.

Result of demonstration showing taht commnad line always starts under the directory path



투명도 주기

이 블로그를 보고 불투명도도 조절할수 있다는걸 알고 저도 써줬습니다.
https://kdohyeon.tistory.com/122

Setting > Profile > Window에서 Transparency (투명도) Blur(불투명도) 조절

iTerm2 Window setting to apply transparency and blur


완성된 모습
Final look of my customised iTerm2 window

+추가로

아래 Status bar는 Setting(cmd+,) 에서 Profile > Session > 맨아래 status bar enabled 체크 해주기 옆 버트으로 configure 해주시면 됩니다.

iTerm2 Status bar setting on the Session tab

++

Setting tab에서 이것저것 만지면서 font size도 키워주고 색깔도 더 커스터마이징 함. 깔끔한게 좋아서 이모지 안넣었지만 나중에 기분전환으로 넣으려 계획중.

*이 글은 제가 개발 쌩쌩 초보라 유투브영상으로 하나하나 따라하면서 검색해가면서 제가 필요한것만 모아 정리한것 입니다.
(powerlevel10k도 아래 유투브 영상보면서 몇년전에 깔았는데 기억이 하나두 안나서 미래의 제 자신을 위해 이번엔 글로 정리해봄. ㅋㅋ)
그래도 부트캠프에서 unix랑 git 배우고 해보니 이제 뭘하고 있는건지는 알 수 있어서 너무 재밌네요.


Reference:

https://www.youtube.com/watch?v=mba8cnGcgqE
https://www.youtube.com/watch?v=QXt5gvtiVuo
https://www.youtube.com/watch?v=CF1tMjvHDRA
powerlevel10k 쓰고 싶으신분들 (이거 진짜 편하긴 합니다.), 이 영상 똑같이 따라하시면 플러그인까지 하는법 자세히 설명해 줍니다.

https://kdohyeon.tistory.com/122
투명도 적용참고한 블로그



0개의 댓글