해당 글에서는 ZShell(zsh) 내에서 수정이 가능한 테마(Theme), 하이라이팅(Highlighting), 이모지(Emoji), 개행(newline)을 적용하기 위한 설정 방법을 공유하는 목적으로 작성한 글입니다.
[참고] 이전 작성한 글과 이어집니다. 처음이시라면 처음 글을 읽고 오시는것을 추천드립니다.
[iTerm2] ZShell(zsh) 화면 구성하기-1 : State Bar, Font, Theme
해당 글에서는 ZShell(zsh)을 구성하기 위한 초기 설정과 상태 바(State bar), 글꼴(Font), 테마(Theme)를 적용하기 위한 설정 방법을 공유하는 목적으로 작성한 글입니다. 1) 초기 필수 설정 💡 ZShell을 화
adjh54.tistory.com
1) Shell 테마 적용
1. Oh My Zsh 플러그인을 다운로드 받습니다.
💡 ohmyzsh은 Shell의 테마를 지정해주는 플러그인으로 다운로드를 하여줍니다.
# Plugin 설치
$ sh -c "$(curl -fsSL <https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh>)"
[참고] 공식 사이트
Oh My Zsh - a delightful & open source framework for Zsh
Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with several helpful functions, helpers, plugins, themes, and a few things that make you shout... OH MY ZSH!
ohmyz.sh
GitHub - ohmyzsh/ohmyzsh: 🙃 A delightful community-driven (with 2,000+ contributors) framework for managing your zsh config
🙃 A delightful community-driven (with 2,000+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, pyth...
github.com
2. zsh 환경 파일을 엽니다.
💡 vi 에디터를 통해서 zsh 환경설정 파일을 엽니다.
# vi 편집기를 통해서 zsh 환경파일을 엽니다.
$ vi ~/.zshrc

3. zsh 환경 파일 내에 ‘ZSH_THEME’를 변경합니다.
💡 vi 에디터를 이용하여서 다른 테마를 적용해 봅니다.
# 변경 이전
ZSH_THEME="robbyrussell"
# 변경 이후
ZSH_THEME="agnoster"
💡 vi 에디터 사용방법
1. 위에 변경하려는 ZSH_THEME를 복사합니다.
2. vi ~/.zshrc 명령어를 통해서 zsh의 환경설정 파일로 이동합니다.
3. 키보드 화살표 커서로 변경하려는 곳에서 ‘dd’ 버튼을 눌러서 줄 삭제를 수행합니다
4. 삭제된 영역에서 ‘i’ 키를 눌러서 편집 모드를 수행합니다.
5. 해당 복사한 내용을 붙여 넣기 (Ctrl + v / Command + v)를 합니다.
6. 붙여 넣기가 완료되면 ‘shift + : ’ 키를 누릅니다.
7. ‘wq’를 입력하고 엔터를 눌러서 저장하고 나가기를 수행하면 완료됩니다.


4. 환경설정 반영을 수행합니다.
# zsh의 변경사항을 반영합니다.
$ source ~/.zshrc
5. 아래와 같이 Shell Theme가 변경됨을 확인하였습니다.

[참고 사항]
💡 [oh-my-zsh] Would you like to update? [Y/n] 에러 발생 시 대처사항

# 에러가 발생하는 지점으로 이동
$ cd .oh-my-zsh
# stash 생성
$ git stash
# oh-my-zsh 업데이트
$ omz update
# stash 적용
$ git stash apply stash@{0}
# stash 제거
$ git stash drop stash@{0}
2) 명령어 하이라이팅 플러그인
1. 명령어 하이라이팅 플러그인을 설치합니다
# zshell의 명령어의 하이팅을 위해 설치를 진행합니다.
$ brew install zsh-syntax-highlighting
[참고] 공식 Github
2. 명령어 하이라이팅과 관련된 환경설정을 합니다.
# vi 편집기를 통해서 zshell 환경파일을 엽니다.
$ vi ~/.zshrc
# M1 이상의 경우 - zshell 환경파일 내에 해당 값을 넣어줘야 합니다.
$ source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Intell의 경우 - zshell 환경파일 내에 해당 값을 넣어줘야 합니다.
$ source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
💡 vi 에디터 사용방법
1. 위에 변경하려는 명령어를 복사합니다.
2. vi ~/. zshrc 명령어를 통해서 zsh의 환경설정 파일로 이동합니다.
3. 환경 파일의 제일 하단으로 이동합니다.
4. 해당 복사한 내용을 붙여 넣기 (Ctrl + v / Command + v)를 합니다.
5. 붙여 넣기가 완료되면 ‘shift + : ’ 키를 누릅니다.
6. ‘wq’를 입력하고 엔터를 눌러서 저장하고 나가기를 수행하면 완료됩니다.

3. 설정 확인
💡 명령어가 존재하는 경우 초록색, 존재하지 않는 경우 빨간색으로 하이팅 되는 것을 확인하였습니다.


3) 이모지 적용하기
1. 이모지 적용을 위한 zshell을 편집합니다.
# vi 편집기를 통해서 zsh 환경파일을 엽니다.
$ vi ~/.zshrc
2. 해당 명령어를 복사하여서 붙여 넣기를 합니다.
1. 랜덤 이모지 적용 방법
💡 "lee@Leeui-MacBookPro" 부분만 개인 스타일에 맞게 적용하시면 됩니다.
prompt_context() {
# Custom (Random emoji)
emojis=("⚡️" "🔥" "🇰 " "👑" "😎" "🐸" "🐵" "🦄" "🌈" "🍻" "🚀" "💡" "🎉" "🔑" "🚦" "🌙")
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "{lee@Leeui-MacBookPro} ${emojis[$RAND_EMOJI_N]} "
}
2. 고정 이모지 적용 방법
prompt_context() {
# Custom (Fix Emoji)
prompt_segment black default "lee-MacBookPro"
}

3. zshell 환경설정에 반영합니다.
# zsh의 변경사항을 반영합니다.
$ source ~/.zshrc
4. 반영이 잘됨을 확인하였습니다


4) 줄 바꿈:개행(newline) 적용
1. 적용한 테마를 확인합니다.
💡 vi 편집기를 통해 설정한 zsh 환경 파일을 열어서 지정한 테마 (ZSH_THEME)를 확인합니다.
# vi 편집기를 통해서 zsh 환경파일을 엽니다.
$ vi ~/.zshrc

2. 명령어를 입력합니다.
💡 agnoster.zsh-theme 부분을 적용한 테마를 기준으로 명령어를 입력합니다.
# 테마의 환경 파일 접근
$ vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
3. 환경파일 최하단으로 이동합니다.
💡 하단에 아래의 명령어를 추가해주고 저장합니다.
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
prompt_aws
prompt_context
prompt_dir
prompt_git
prompt_bzr
prompt_hg
prompt_newline # 해당 위치에 꼭 입력해주어야 합니다.
prompt_end
}
# 해당 내용을 추가합니다.
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=''
}
4. zshell 환경설정에 반영합니다.
# zsh의 변경사항을 반영합니다.
$ source ~/.zshrc
5. 결과를 확인합니다

오늘도 감사합니다😀
'개발 Tip > MacBook' 카테고리의 다른 글
[iMazing] Mac 디바이스 배터리 충전 사이클 확인 방법 : MacBook (0) | 2024.03.09 |
---|---|
[iTerm2] ZShell(zsh) 화면 구성하기-1 : State Bar, Font, Theme (0) | 2022.11.30 |
[MacBook] 나만 모르는 맥북 단축키 (2) | 2022.09.16 |