터미널꾸미기 : Oh-my-zsh 테마 & 그 밖에 추가 설정(MacOS)

eunji hwang·2020년 8월 5일
16

컴퓨터 켜고 터미널을 열었는데 매일보는 터미널의 색상도 질리고, 테마도 질리고~
간만에 새로운 맘으로 터미널을 꾸며볼까~? 하고 기존 설치되어 있던 oh-my-zsh 테마 변경을 찾아봤다.

zsh 테마 깃헙 : 다양한 테마 둘러보세! 🤩

부트캠프를 다니면서 첫주에 했던것 중 하나가 터미널 꾸미기 였다. 그 당시엔 뭘 하는지도 모르고 따라하기 바뻤는데, 이제와서 보니 그냥 zsh을 다운로드하고 설정한거였구나..나만 몰랐나?
코딩을 배우기 전에는 기본 터미널이 너무 이뻐서 좋았는데 이제는 알록 달록 색으로 명령어와 git상태 표시등이 있다보니 기능적으로 좋아 기존 터미널 보다 선호하게 됐다. 그리고 .. 개발자같아 멋져!😎

터미널 zsh로 변경

mac 카탈레나 이후 터미널이 zsh이라는데 그런가요?

터미널이 bash로 설정되어 있다면 zsh로 변경해주자.
homebrew를 통해 설치하자. (없다면 검색 고고)

  1. 설치 전 홈브류 업데이트 진행 : brew update
  2. zsh 설치 brew install zsh
  3. zsh의 설치 경로 확인 which zsh
  4. 기본 shell을 변경 chsh -s $(which zsh)

oh-my-zsh 설치

zsh 을 설치했으니 zsh 테마를 변경해야 겠죠. 테마변경을 위해 oh-my-zsh 설치안내에 방문, 설치 명령어를 복사 혹은 아래 명령어를 터미널에 입력!
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

나는 이미 설치해서.. 더이상 완료 메세지가 뜨지 않는데, 첫 설치라면 멋진 지셸메세지를 볼수 있다.

먼저 적용하고 싶은 테마를 둘러봤다. 기존 사용하던 테마는 'agnoster'였고, 이쁘지만 것두 매일보니 지겨브.. 이번엔 컬러바 없이 깔끔한 문자만 보이도록 설정하려 'cloud' 적용!

구름모양과 번개가 너무 귀엽!!!!!! 너모나 귀엽둥!!

.zshrc ?

.zshrc는 터미널을 열면 위치하게되는 루트경로에 숨김파일로 있다. 파일명 그대로 zsh의 설정파일이다. 에디터를 통해 열어보면 주석처리 잔득과 몇가지 활성화된 코드를 볼수 있다. 설정에 관한 코드고 설명이 잘되어 있어 읽어보고 원하는 부분 주석 on-off하여 설정해보자!

# 빔 으로 파일열기
vi .zshrc

# vscode로 파일열기
code .zshrc

ZSH_THEME

설정중 먼저봐야할 것은 지금이 포스팅을 작성하는 이유인 테마설정! .zshrc 상단에 바로 위치하기에 쉽게 찾을수 있고, zsh 테마를 통해 맘에드는 것을 찾고, 테마명만 입력해주면 된다. 너무 간단해서 포스팅하는 의미...😳

나는 cloud 를 적용! 귀염둥이 구름과 번개가 아주 기대된당!

헌대 이게 무슨일이야. 구름이 업더..저 작은..하늘색이 구름일까..
어찌되었던, 이렇게 간단하게 맘에드는 테마를 등록할 수 있습니다.

랜덤테마 설정

이쯤되면, -"테마도 다양하니 먼저 써보고 맘에드는 테마에 정착하겠다."- 라는 생각을 하게 됩니다.(제가요..)

위 테마설정 변수에 테마명을 직접 입력하지 않고, random 을 설정하게 되면 터미널을 열때마다 테마가 변경됩니다. 아주 훌륭한 기능이죠 ?

적용테마 확인 $RANDOM_THEME

랜덤 설정을 했다면, 지금 적용된 테마가 뭔지 너무나 궁금하게 되겠죠! 이때는 적용테마를 확인하면 되는데,
-그래서 그게 어떻게 하는건데?- 라는 생각을 또 하시겠죠?

  • 터미널을 열고
  • 랜덤 테마가 너무나 맘에들어 버렸네? '-어맛! 이 테마 뭐야 ? 당장 적용할랫!-'
  • 터미널 상단에 [oh-my-zsh] Random theme 'Soliah' loaded 라고 친적히 적혀있다.

랜덤안내글 제거

만약, 나는 깔끔한 터미널이 좋다!
터미널 상단에 뜨는 [oh-my-zsh] Random theme 'Soliah' loaded 이가 싫다면 제거하자!

  1. 에디터로 .oh-my-zsh/themes/random.zsh-theme 파일을 열어고 [oh-my-zsh].. 로 시작하는 동일 내을 찾아 해당 코드를 주석처리하자!
# 나는 vscode로 파일을 확인했다
$ code .oh-my-zsh/themes/random.zsh-theme

# ---------------------- random.zsh-theme 최하단  해당코드 주석처리 --------------
# ! 터미널 상단 테마 안내문구 출력
# echo "[oh-my-zsh] Random theme '${RANDOM_THEME}' loaded"
  1. 이후 echo $RANDOM_THEME 명령어로 현재 설정된 렌덤테마를 확인한다!

터미널을 깔끔하게 표시하기


만약 나처럼 last login : ....일시 On ttys015 같은 안내문이 최상단에 배치된다면?
깔끔하지 못한 저모습 너무나 지우고 싶고 !!!!! 해서 지워보자 찾아보니 역시나 너무 간단하다. 지금까지 왜 저상태로 써왔는지 허허!🥱

  1. 터미널 열고 루트에 위치하기
  2. touch .hushlogin 파일 생성
  3. 터미널 새로 열기 : 적용된 깔끔한 터미널 확인가능 !

행복하다..

단축키 등록

만약 매일 너무나 자주쓰는 긴 단축키가 있다면 .zshrc에 등록할 수 있다.

  1. 에디터를 통해 .zshrc 파일 열기
  2. 원하는 위치에 alias 명령어 = "길다란 명령어를 등록하자!" 와 같이 등록
  3. 나는 최하단에 주석처리하여 단축키 등록할 곳을 표시했다.
# 여기부터 zsh단축키 등록
# 문법 : alias 단축키="원래 길다란 명령어를 작성"

alias proj="cd project/nodejs"

...
자주쓰는 단축키가 아직 없다.
하하하하하 있다면 등록하세요~

proj 만 입력했더니 지정한 경로로 이동했어요. 호호호

명령어 자동완성 플러그인 설정

깃헙 : zsh-autosuggestions

명령어가 자동완성되는 아주 편리한 플러그인을 설치하자. 훓어보니 oh-my-zsh을 사용중이라면 아래 방식을 따라야 하나보다 ?

  1. 플러그인 파일 받기
    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

  1. .zshrc 플러그인 설정

    code .zshrc 명령으로 .zshrc의 내용중 위처럼 플러그인 내용을 찾고
    zsh-autosuggestions을 추가합니다.

  2. 터미널 종료후 다시 시작 또는 source ~/.zshrc 를 통해 바로 적용!
    아래 사진과 같이 한단어만 작성해도 최근 명령어 or 연관 명령어가 보여진다 !

source 명령어는 스크립트 변경후 바로 적용할때 쓰임

사용자 이름 단순화 >

터미널에 랜덤 테마를 적용하고 나니, 테마마다 내 컴퓨터의 이름 표기법이 다르다. 누구는 없고, 누구는 아주 길게 표기되고.. 어떻게 설정 안될까나 ?

찾아보니 .zshrc 파일을 열고 최하단에 아래 내용을 추가하면 된다는데 나는 테마마다 지멋대로 여전하다!

# 사용자 이름 단순화 적용
prompt_context() { if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then prompt_segment black default "%(!.%{%F{yellow}%}.)$USER" fi }

해서... 테마 마다 다 설정해야 하는가?
일단 테마에서 유저이름이 긴 녀석들 나올때 해당 테마의 설정에 위의 코드를 추가했다.

  • 문제의 테마가 나올때 : code .oh-my-zsh/themes/$RANDOM_THEME.zsh-theme 명령어로 테마설정파일 열기
# 문제의 테마설정 !!!...

ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}⚡" # 여기에 번개모양이 뜨는게 깃에 내용있을때?? 
ZSH_THEME_GIT_PROMPT_CLEAN=""

function prompt_char {
	if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi
}

PROMPT='%(?,,%{$fg[red]%}FAIL: $?%{$reset_color%}
)%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info) $(prompt_char) '

RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}'

하하하하하하 녀석 무슨말인지 하나도 모르겠구다 ! 모를때는 저 변수명을 처보자!
열심히 찾은거 같은데? 랜덤설정할때는 추가설정이 안먹히는건가?
결국 cloud 테마의 설정파일에서 구름모양만 잘보이는 이모지로 바꾸고. 저장해서 cloud 테마를 적용했다.

여기까지 디깅한 결과..! 테마설정은 환경변수 설정으로 적용하는 듯 하다? 좀만 더 파면 테마 하나 만들겠구나 ^^

결국 나는.. cloud 테마 이모지만 잘 뜨도록 수정해서 쓰는중!

oh-my-zsh 업데이트

$ upgrade_oh_my_zsh
# 또는 
$ omz update

터미널에 upgrade_oh_my_zsh 입력! 햇더니 더이상 쓰지 않는 명령어라며 omz update명령어를 사용하라고 하네요! 아직까지 upgrade_oh_my_zsh명령어를 사용할 수 있지만, 앞으로는 omz update 사용 합시다!

profile
TIL 기록 블로그 :: 문제가 있는 글엔 댓글 부탁드려요!

1개의 댓글

comment-user-thumbnail
2023년 8월 17일

좋은정보 감사합니다

답글 달기