본문 바로가기
미분류

터미널을 귀엽게 꾸며봅시다 (mac 기준)

by 혜리루 2021. 3. 21.

이번에 맥북을 새로 바꾸면서 데이터를 마이그레이션하다가 실수로 데이터를 다 날려먹었습니다.

이렇게 된 이상 새로운 환경, 새로운 마음으로 새출발 하자는 의미에서 마음잡고 터미널을 꾸며보았습니다.

 

 

1. iterm2 다운로드

먼저 item2을 다운받아줍니다.  iterm2는 기본 터미널보다 다양한 기능을 지원해서 많은 분들이 사용하고 계실텐데요.

 

기능 몇가지를 함께 소개해보도록 하겠습니다.

https://iterm2.com/features.html

먼저 가장 자주 쓰게 되는 split pane 기능입니다.

한국말로 뭐라고 해야할지 모르겠네요. 화면 쪼개기..? 저는 가로보다는 세로로 쪼개는걸 좋아해서

이렇게 단축키를 설정해두고 쓰고있습니다.

새로운 tab을 추가할때는 커맨드 + t

화면을 쪼갤때(pane)는 커맨드 + 쉬프트 + t 

이렇게 설정해두니까 편하더라고요.

 

tab을 이동할때는 커맨드 + 방향키

pane을 이동할 때는 커맨드 + 옵션 + 방향키를 사용합니다.

 

 

  그리고 이렇게 host별로 config를 따로 설정하는 것도 가능하고요

 

터미널 내의 텍스트에 어노테이션을 줄 수도 있습니다.

로그를 볼때 하나씩 체크해둘 수 있어 편리합니다.  

 

텍스트를 선택한 후 오른쪽 클릭하면 어노테이션 기능을 사용할 수 있습니다.

 

 

2. iterm 테마 설정하기

github.com/mbadolato/iTerm2-Color-Schemes#installation-instructions

 

mbadolato/iTerm2-Color-Schemes

Over 230 terminal color schemes/themes for iTerm/iTerm2. Includes ports to Terminal, Konsole, PuTTY, Xresources, XRDB, Remmina, Termite, XFCE, Tilda, FreeBSD VT, Terminator, Kitty, MobaXterm, LXTer...

github.com

iterm은 취향에 맞게 테마를 설정할 수 가 있는데요, 저는 하나씩 설정하기 귀찮은 관계로 누가 만들어놓은 테마를 가져다 썼습니다.

그 방법은 아래와 같습니다.

 

1. 위 repository를 클론한다.

2. repository read me를 보고 원하는 테마를 고른다.

3. iterm의 preference > profiles > colors > color presets > import 에서 테마를 선택해준다.

 

끝입니다. 저는 cyber punk 테마를 골라보았습니다.

 

아주 귀엽네용

3. zsh 다운로드

 

zsh는 bash와 같은 shell인데요, bash보다 커스터마이징이 쉬워서 terminal에서 여러가지 기능을 더해 사용할 수가 있습니다.

zsh는 간단하게 brew로 설치가 가능합니다.

brew install zsh // 설치
chsh -s $(which zsh) // 기본 shell을 zsh로 바꾸기

zsh의 한가지 재미있는 기능은 오타 수정 기능인데요 이 기능을 사용하기 위해서는 zshrc 파일에서 해당 설정 부분의 주석 처리를 해제해주어야합니다.

 

vi ~/.zshrc

 

 

일부러 echo에 오타를 내보았는데요 위처럼 zsh가 자동으로 수정해주는 것을 볼 수 있습니다.

 

 

4. oh my zsh 다운로드

open zsh는 zsh에서 플러그인과 테마를 더 쉽게 사용할 수 있도록 도와주는 프레임워크입니다.

설치는 wget, curl, fetch 중 하나로 하면 되는데요 저는 curl로 설치를 해보았습니다.

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

 

5. zsh 테마 다운로드

이제 zsh의 테마 또한 설정할 수 있게 되었습니다.

zsh의 기본 테마는 robbyrussel인데요 robbyrussel도 충분히 예쁘지만 취향에 맞는 테마를 골라서 사용해봅시다.

 

github.com/ohmyzsh/ohmyzsh/wiki/themes

 

ohmyzsh/ohmyzsh

🙃 A delightful community-driven (with 1800+ contributors) framework for managing your zsh configuration. Includes nearly 300 optional plugins (rails, git, OSX, hub, docker, homebrew, node, php, p...

github.com

위의 위키를 보면 다양한 ohmyzsh 테마를 볼 수 있습니다.

원하는 테마를 찾았다면 아래처럼 zshrc 파일을 수정해주기만 하면 됩니다.

ZSH_THEME="agnoster"

agnoster을 적용하니 이렇게 바뀌었네용

 

그런데 어차피 제 로컬인데 사용자 이름 뒤에 컴퓨터명이 붙는게 조금 귀찮네요.

이 부분을 삭제해주고싶다면

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

zshrc 파일에 위와 같은 스크립트를 넣어줍시다.

  

깔끔하게 바뀌어서 좋네요.

 

사실 저는 agnoster가 조금 지겨워서 spaceship 테마를 사용하고 있습니다.

 

github.com/denysdovhan/spaceship-prompt

 

denysdovhan/spaceship-prompt

:rocket::star: A Zsh prompt for Astronauts. Contribute to denysdovhan/spaceship-prompt development by creating an account on GitHub.

github.com

 

 

위는 rails 프로젝트 디렉토리인데요,

보시는 것처럼 git 브랜치 정보는 물론 루비 버전, 도커 버전까지 표시해줍니다! 아주 귀엽고 편리해요

 

spaceship 설치는 npm으로 할 수 있습니다.

 

npm install -g spaceship-prompt

 

npm이 싫다면 다른 방법들이 많으니 repository readme를 참고하세요.

6. zsh 플러그인 사용하기

oh my zsh를 사용하면 다양한 plugin들을 사용할 수 있습니다.

plugin 리스트는 github.com/ohmyzsh/ohmyzsh/wiki/Plugins여기에서 확인할 수 있습니다.

본인의 취향에 맞게 골라서 사용해줍시다

 

plugin 또한 zshrc 파일의 수정을 통해서 간단하게 적용할 수 있습니다.

plugins=(
  git
  docker
  )

각 플러그인들은 공백으로 구분해줍니다.

 

저는 기본 플러그인 외에 zsh-syntax-highlighting, zsh-autosuggestions  이렇게 두가지를 더 설치해주었는데요.

 

zsh-syntax-highlighting은 이름 그대로 문법대로 하이라이팅을 해주는 플러그인입니다.

git repository를 clone 받아서 설치합니다.

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

 

 

zsh-autosuggestions은 아래처럼 이전에 입력했던 명령어를 보여줍니다.

이 친구 역시 git repository를 clone 받아줍니다.

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

 

마지막으로 zshrc파일에 추가해주면 끝입니다.

plugins=(
  git
  zsh-syntax-highlighting
  zsh-autosuggestions
  docker
  )

 

 

귀여운 터미널 완성!

댓글