macOS도 그렇고 window도 그렇고 터미널 기본 디자인을 보면 너무 투박하다는 생각이 든다. 그리고 입력 창에 내 Root 경로가 표시되는데, 유저 이름을 길게 설정하면 보기가 좋지 않다. (나만 그런가🙄)
이제 터미널에도 갬성 몇 스푼을 넣어보자!
iTerm은 macOS에서 터미널을 대체할 수 있는 터미널 에뮬레이터 입니다.
예전에는 기본 shell환경으로 bash
를 제공해서 zsh
를 사용하기 위해 iTerm을 썼다는데, 카탈리나 버전 이후부터는 zsh
로 동일합니다. 그래서 기본 터미널을 사용해도 상관없지만, 커스터마이징을 하고 싶다면 iTerm2를 추천해요!
아래 두 방법 중에 원하는 방법으로 설치하면 됩니다.
(저는 homebrew로 앱 관리하는게 편해서 두 번째 방법을 썼습니다.)
공식링크에 들어가서 직접 다운로드 받기
터미널 창을 열고 아래 스크립트 입력하면 설치가 진행된다.
brew install iterm2
설치가 완료되면 제대로 설치가 되었는지 아래 스크립트로 확인할 수 있어요.
brew list
잘 설치되었으면 실행을 해볼게요!
그런데 아직까진 기존 터미널과 뭐가 다른지 모르겠..🤔
여기서 부터 갬성이 들어갑니다!✨
Oh-My-Zsh는 zsh configuration을 관리하기 위한 프레임워크입니다.
이것을 이용하면 다양한 테마를 내 취향대로 골라서 적용할 수 있어요.🎨
[공식 문서]에 기재된 설치 스크립트를 터미널 혹은 iTerm에 입력하면 손쉽게 설치가 가능해요.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
iTerm에서 이 스크립트를 실행하면 아래와 같은 화면이 나올거에요.
이제 경로도 제 맥북 이름이 제외되고 ~
만 표시된 것도 확인할 수 있죠!
아, 그리고 만약에 zsh가 없다면 homebrew를 통해서 zsh를 받아주세요!
brew install zsh
여기서부터가 진짜 커스텀 시작!
저는 iTerm을 쓰고 있기 때문에 이것을 기준으로 진행할 거에요.
먼저 iTerm에서 Command + ,
를 누르면 Preference 설정 창이 열려요.
여기서 다양한 설정을 바꿀거니까 기억해두세요!
Fira-code는 코딩에 최적화된 폰트입니다.
이 폰트는 숫자 0과 알파벳 O, 숫자 1과 알파벳 l 등 헷갈리는 기호나 글꼴을 구별하기 좋게 표현 해줍니다.
저는 자바스크립트를 주로 쓰는데, 화살표 함수 때문에 화살표 기호(=>
)를 많이 쓰게돼요. 이 폰트를 사용하면 이 화살표도 이쁘게 표현을 해줘요!
homebrew를 통해 설치가 가능합니다. 터미널 창에 아래 스크립트를 입력하세요.
brew tap homebrew/cask-fonts
brew install font-fira-code
Preference > Profiles > Text 경로에 가서 Font는 FiraCode로 설정 합니다.
그리고 ligatures를 체크하셔야 이쁜 화살표를 사용할 수 있어요!
Preference > Profiles > Session 경로로 가서 status bar enabled
를 체크합니다.
그 다음 바로 옆에 Configure Status Bar
를 클릭하셔서 원하는 옵션을 추가하시면 됩니다.!
이렇게 선택하면 짜잔~ 상태바가 상단에 생겼습니다!
만약 상태바를 하단에 두고 싶다면 Preference > Appearance > General 에서 Status bar location
을 Bottom으로 변경해주세요.
그리고 저는 좀 블록의 구분감을 없애고 싶어서 Theme
을 Minimal로 변경했어요.
이제 좀 개발자 갬성이 생기지 않았나요? 하지만 아직 뭔가 부족해보여요.
컬러를 좀 추가해보죠!
iterm2colorschemes 링크에 들어가보면 여러가지 색상 조합이 있어요.
여기서 원하는 테마의 이름을 우클릭 > 다른 이름으로 링크 저장을 선택하여 저장합니다.
그 다음에는 Preference > Profiles > Colors에서 우측 하단 Color Presets...
을 클릭하여 저장한 컬러 조합을 import
합니다.
import한 컬러 조합을 선택하면 아래처럼 적용된 화면을 확인할 수 있습니다!
제가 사용한 컬러 조합은 Snazzy 입니다.
창 상단에 현재 내 컴퓨터의 이름이 나오는데, 이것이 노출되는게 싫다면 변경도 가능해요.
Preference > Profiles > Window 에서 Custom window title
를 체크하고 원하는 이름을 입력 합니다.
기본 테마도 깔끔하긴한데 좀 더 개발자스러운 느낌으로 바꿔봅시다!
iTerm에서 아래 스크립트를 입력하세요.
vi ~/.zshrc
그리고 ZSH_THEME = robbyrussell
찾아서 agnoster로 바꿔줍니다.
그런데 내 이름이 다시 나오네..?
사용자 이름을 숨기고 원하는 닉네임으로 바꿔봅시다!
다시 .zshrc
를 열고 아래 스크립트를 추가해줍니다.
vi ~/.zshrc
prompt_context() {
emojis=("🦊" "🐱" "🐶" "🐼" "🐯" "🦁")
nickname="원하는 닉네임"
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "${nickname} ${emojis[$RAND_EMOJI_N]} "
}
이 상태도 좋지만, 현재 경로가 길어지면 명령어가 줄바꿈이 되어버려서 보기가 싫어요. 아예 명령어 시작점을 줄바꿈 해버립시다!
agnoster 테마를 선택 했다면, 아래 스크립트를 실행합니다.
vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
그리고 build_prompt()를 찾아서 prompt_newline을 prompt_hg와 promt_end사이에 추가 해주세요.
# File: ~/.oh-my-zsh/themes/agnoster.zsh-theme
...
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
prompt_context
prompt_dir
prompt_git
prompt_bzr
prompt_hg
prompt_newline // 줄바꿈하는 함수!
prompt_end
}
...
그리고 코드 최하단으로 내려와서 prompt_newline 함수를 정의해줍시다.
# File: ~/.oh-my-zsh/themes/agnoster.zsh-theme
...
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=''
}
그러면 짠! 명령어 시작점이 줄바꿈이 되었다!
사용할 수 있는 명령어인지 확인할 수 있는 플러그인이에요.
명령어 실수를 확 줄여줘서 적극 추천합니다!
brew install zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
내가 입력할때 흐린 글씨로 무슨 명령어를 입력할지 추천해주는 플러그인이에요.
brew install zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
.zshrc
파일을 열고 plugins
를 찾아 설치한 zsh-syntax-highlighting
zsh-autosuggestions
를 추가 해줍니다.
vi ~/.zshrc
plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
짜잔~
이제 이렇게 이쁘게 그리고 편하게 코드를 작성할 수 있는 환경이 되었습니닷!