본문 바로가기
ProTips

맥북 터미널 설정 1 - iTerm2와 oh my zsh 설치하기

by codeflow 2022. 10. 3.

맥OS 터미널을 좀 더 예쁘고 깔끔하게 싶다면 보통 터미널로 다양한 확장 기능을 제공하는 iTerm을 쓰게 됩니다. iTerm 설치 후에는 보통 터미널에 oh my zsh 프레임워크를 적용합니다. oh my zsh 프레임워크와 플러그인에서 제공하는 git 연동, 커맨드 자동 추천, 커맨드 인식 여부를 색깔로 표시하기 등의 기능을 써서 편리하게 개발할 수 있기 때문입니다. 이번 포스팅에서는 iTerm만 설치한 상태에서 git 저장소를 다운받았을 때의 상태와 oh my zsh를 적용한 후 git 저장소를 다운받았을 때의 상태를 비교해보겠습니다.

iTerm2 설치

가장 먼저 할 일은 iTerm2 설정입니다. iTerm2는 https://iterm2.com/downloads.html에서 다운로드 받고 실행하면 됩니다. iTerm2를 다운로드한 직후에 곧 설치할 ohmyzsh git 저장소를 클로닝 해보겠습니다. 아직은 아래 이미지와 같이 맥OS 기본 터미널과 딱히 다를 게 없어 보입니다. 이제 oh my zsh를 적용해 밋밋한 터미널에 컬러를 입혀보겠습니다.

oh my zsh 설치 및 theme 변경

oh-my-zsh 설치를 설치하기 위해서는 먼저 iTerm2를 켜두고 https://ohmyz.sh/에 들어갑니다. 화면에 보이는 Install oh-my-zsh 버튼을 누르고 연결된 링크에서 sh로 시작하는 curl 커맨드를 카피한 뒤 터미널에 붙여넣고 엔터를 쳐줍니다.

더보기

Note. curl이란 client URL의 약자로, CLI(Comman Line Interface) 환경에서 http, https 프로토콜을 통해 서버에 접속할 수 있게 해줍니다. 개발자라면 postman 없이도 curl을 통해 서버 API를 테스트할 수 있습니다. 위의 경우엔 별도로 브라우저에서 파일을 다운로드 받고 설치하는 과정 없이 터미널 환경에서 ohmyzsh 서버에 접속해 oh-my-zsh 플러그인 데이터를 받아 설치할 수 있게 해 줍니다. -s는 silent 모드로 에러 출력 방지 옵션, -S는 silent 모드일 때도 에러 출력, -L은 redirection을 가능하게 하는 옵션입니다. curl이 설치되어 있지 않은 경우엔 터미널에 brew install curl을 입력해 설치할 수 있습니다.

oh my zsh가 무사히 설치되면 터미널 프롬프트에 컬러가 적용되게 됩니다. 아래 이미지처럼 ohmyzsh git 위치로 이동하면 프롬프트에 git branch 정보가 표시되는 걸 확인할 수 있습니다.👏👏👏

색상이 반전된 상태로 표시하기 위해서는 oh my zsh의 color theme을 바꿔줄 필요가 있는데요, 그 전에 iTerm 자체에서 색상을 바꾸는 방법을 먼저 알아보겠습니다. iTerm2에서 command ⌘ + , 키를 누르면 Preferences 창을 띄워줍니다. 여기서 Profiles를 선택해 colors 탭에서 Color Presets를 Tango Dark로 바꿔보겠습니다. 그러면 아래와 같이 색상이 약간 변한 걸 확인할 수 있는데요, iTerm2 color scheme (https://iterm2colorschemes.com/)을 쓰면 좀 더 다양한 색상 테마를 적용해 볼 수 있습니다.

이제 oh my zsh theme을 먼저 적용해 프롬프트 텍스트에 색상 반전 효과를 입혀보도록 하겠습니다. 보통 이 효과를 적용하기 위해서 oh my zsh 설정에서 https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster 처럼 theme으로 agnoster를 적용시킵니다. 그러기 위해 먼저 아래 이미지 대로 터미널에서 open ~/.zshrc 커맨드를 쳐서 .zshrc 파일을 열어 봅시다. 그러면 oh my zsh 설치 시에 생성된 각종 설정들을 확인할 수 있습니다.

 

우리는 그 중 ZSH_THEME 변수를 찾아 agnoster로 바꿔주도록 하겠습니다. ZSH_THEME="agnoster"로 바꾼 후 저장해줍시다. 그런 다음 터미널에서 source ~/.zshrc 명령어로 .zshrc 변경사항을 적용해주거나 iTerm2를 다시 실행해주면, 아래와 같이 git branch 텍스트에 색상 배경이 들어간 걸 확인할 수 있습니다. 

터미널 폰트 변경하기 

oh my zsh theme을 agnoster로 적용하면 폰트가 깨지기 때문에, 호환이 되는 폰트를 설치해보겠습니다. 보통 개발용으로 많이 쓰이는 D2 폰트를 https://github.com/naver/d2codingfont/releases 에서 다운로드 받아 서체를 설치해 줍니다. 그 다음 iTerm2 Preferences에서 D2Coding 폰트를 적용하고 글자 크기를 약간 키워주면 아래 이미지와 같이 더 이상 폰트가 깨지지 않고 잘 나오는 모습을 볼 수 있습니다. 👏👏👏

프롬프트에서 사용자 이름 없애기

git을 쓰면서 branch 이름이 길어지면 사용자 이름과 섞여 너무 길어지기 때문에 터미널에서 보기 불편할 수 있습니다. 이런 경우에는 사용자 이름이 프롬프트에 표시되지 않도록 아래와 같이 .zprofile을 생성해 DEFAULT_USER 변수에 현재 사용자 이름을 대입합니다. 파일 저장 후에 사용자 이름이 사라진 걸 확인할 수 있습니다.

oh my zsh 관련 패키지 설치

oh my zsh에서 highligting 패키지를 설치하면 인식이 된 명령어는 초록색, 인식이 안 된 명령어는 빨간색으로 뜹니다. 여기에 autosuggestion까지 설치해주면 사용성이 좋습니다.

brew install zsh-syntax-highlighting을 치면 되는데 현재 패키지 관리자인 homebrew가 설치되어 있아서 에러 메시지가 뜨네요. https://brew.sh/index_ko에 들어가 curl로 homebrew를 먼저 설치해줍시다.

설치 시에 /opt/homebrew/bin을 PATH에 추가하라는 warning이 뜹니다. 무시하면 brew 명령어가 터미널에서 인식되지 않기 때문에, 제시하는 그대로 명령어를 쳐서 PATH에 추가해 줍시다. (M1 맥북 프로에 설치한 경우로 인텔 칩 경로와 다를 수 있습니다.)

그 다음 brew install zsh-syntax-highlighting; brew install zsh-autosuggestions 커맨드를 쳐서 syntax highlighting, autosuggestions 추가 플러그인들을 설치해줍니다. 설치 후에는 activate하기 위해 .zshrc 하단에 설치된 플러그인을 불러들이는 커맨드를 추가하라는 안내가 나옵니다. 

그대로 따라해준 뒤에 .zshrc 파일 설정을 적용하고, 다시 똑같은 명령어를 치면 잘 적용된 걸 확인할 수 있습니다. 🍺

댓글