[MAC] 해커의 터미널 커스텀 (Oh My Zsh, iTerm2)
책상이 깔끔하면 괜히 일이 더 잘 될 것 같고, 나에게 맞는 키보드를 커스텀 하면 타자가 더 잘 쳐질 것 같지 않나요? 정리된 공간에 있으면 괜스레 기분이 좋아지기도 하죠.
IT 종사자에게 터미널은 하루 대부분을 마주 보는 화면인데요.
이 화면이 지금보다 훨씬 깔끔하고 멋있어진다면, 그것만으로도 효율이 좋아지지 않을까요?
그래서 물어봤습니다. 하루 종일 터미널을 보는 현직 해커들은 실제로 어떤 걸 쓰고 있을까요!?
현직 해커 22명에게 어떤 종류의 터미널을 사용하고 있는지, 테마는 어떻게 사용하는지 물어봤어요.
해커들이 가장 많이 사용하는 터미널 커스텀 방법과 실제로 터미널을 사용할 때 유용한 Tip들을 확인해 보세요!
해커라면 검정 화면에 초록 글자?
해커 하면 떠오르는 이미지가 여럿 있죠?
그중 영화 매트릭스처럼 검은 화면에 초록 글씨가 마구 떠 있는 화면이 생각나실 텐데요.
왜 해커 하면 검정 화면+초록 글씨가 떠오를까요?
1970년대부터 1980년대 중반까지 컴퓨터는 대부분 단색 CRT 모니터라는 걸 썼어요. 깜빡임이 덜하고 오래 띄워두기 좋아서 초록 인광체를 쓴 제품이 흔했다고 해요. 해커들의 취향과 별개로 옛날 하드웨어 사양의 영향인 것이죠.
그 시대의 프로그래머와 해커들은 자연스레 이 녹색 화면을 사용했어요. 이후 화려한 그래픽을 사용하는 시대가 되었지만 일부 미디어와 매트릭스 같은 영화에서 활용하다 보니 자연스레 연상이 되는 것이에요.
그럼 현재 해커들의 화면은 어떨까요? 86%가 다크 모드를 쓴다고 답했지만 형광 초록을 쓰는 사람은 한 명도 없었어요. 미디어에서 비지는 컨셉과 실제는 다른 편인 걸 알 수 있어요.
해커가 많이 사용하는 터미널
절반이 iTerm2를 사용하고 있어요.
macOS 용 터미널 앱이고 2010년에 처음 나왔어요. 오래 쓰인 만큼 사용하고 있는 사람이 많아서 오류가 발생하거나 막혔을 때 참고할 수 있는 글이 많은 편이에요.
Ghostty가 두 번째였어요.
2024년 12월에 공개된 비교적 신규 터미널로, Zig로 만들어진 오픈소스 프로젝트예요. 나온 지 2년이 채 안 됐는데 벌써 두 번째로 많이 사용하고 있어요.
터미널 앱을 아예 사용하지 않는 사람도 있어요.
VS Code를 사용한다고 답한 사람이 3명, Emacs가 1명이었어요. 에디터에 내장된 터미널만 사용하는 경우도 있다는 뜻이죠. 창을 오갈 일이 없다는 게 장점이에요. VS Code 익스텐션 세팅도 궁금하면 해커가 추천하는 VS Code 익스텐션 아티클을 확인해 보세요!
기본 터미널을 사용하는 사람도 있고 요새는 Codex와 Claude Code를 함께 사용한다는 사람도, AI 기능이 내장된 Warp을 쓴다는 사람도 있었어요. 각 터미널을 비교하면 다음과 같아요.
터미널 | 지원 OS | 비용 | 특징 |
|---|---|---|---|
iTerm2 | macOS | 무료 | 2010년 첫 공개. 참고할 자료가 가장 많음 |
Ghostty | macOS, Linux | 무료 | 2024년 12월 1.0 공개. Zig로 작성된 오픈소스 |
Warp | macOS, Linux, Windows | 무료 플랜 있음 | AI 기능 내장 |
macOS 터미널 / Windows 터미널 | 각 OS 기본 탑재 | 무료 | 따로 설치할 필요가 없음 |
VS Code 내장 터미널 | macOS, Linux, Windows | 무료 | 에디터 안에서 바로 실행 |
해커의 터미널 커스텀 엿보기
낮에는 Latte, 밤에는 Macchiato
Ghostty를 쓰면서 시간대에 따라 배색이 바뀌도록 세팅했어요.
낮에는 Catppuccin Latte, 밤에는 Catppuccin Macchiato를 써요.너무 쨍하지 않으면서 색상 구별도 잘 되고 배경과 텍스트의 조화가 마음에 들어서 사용하고 있어요. 다크 테마도 명도가 다른 3개의 팔레트가 주어져서 주변 환경에 따라 눈에 더 편한 색상을 고르기 좋습니다.
폰트는 Cascadia Code를 사용하는데요.
폰트에 터미널 아이콘이 포함되어 있는 Nerdfont를 지원하고 다른 터미널 폰트보다 각져있지 않아서 선호해요.
두께도 조절이 가능해서 더 좋았어요.– 해커 aplace
Catppuccin 테마는 밝은 쪽인 Latte부터 Frappé, Macchiato, Mocha까지 네 가지 배색이 있고 각각 26개 색을 설정할 수 있어요. 2021년에 시작해 지금은 300개가 넘는 앱에 공식 포팅이 나와 있어요. 터미널만이 아니라 에디터, 브라우저까지 같은 배색으로 맞출 수 있습니다.
동일한 테마도 다른 커스텀으로
Powerlevel10k 테마가 유명하고 깔끔한데 원하는 대로 커스텀 할 수 있어서 이용하고 있어요.
과하지 않으면서 미관상 예뻐 보이는 걸로 하나하나 커스터마이징 했어요.
어떻게 반영되는지 미리 볼 수 있어서 후보들 중에 가장 맘에 드는 걸로 골랐습니다.– 익명의 해커
단순하게 학교 선배가 쓰는 테마였는데 멋있어 보여서 따라 했어요.
코드 편집기는 따로 커스텀 없이 기본 vim으로 쓰고 있는데요.
정보가 많은 것보단 깔끔한 걸 좋아해서, 불필요한 정보는 안 보이게 커스텀 했어요.– 해커 rkdjason
Powerlevel10k 테마를 이용하는 해커가 3명이나 있었어요.
동일한 테마를 사용하지만 선호도에 맞게 다른 커스텀을 할 수 있는 것도 터미널 꾸미기의 장점이죠.
두 해커는 프롬프트를 커스텀 해서 사용했는데요. 지금 있는 폴더, Git 브랜치와 변경 여부, 직전 명령의 성공 여부 같은 정보를 띄워주고 그걸 어떤 색과 아이콘으로 그릴지까지 고를 수 있어요.
기본 테마를 조금 수정해서 사용
테마가 너무 요란하지 않고 적절하게 터미널에서 보여줘야 하는 정보만 잘 보여줘서 이용하고 있어요.
색상도 적당한 파스텔 톤이라 오래 봐도 눈이 아프지 않아서 좋습니다.– 해커 0wn
0wn 님은 iTerm2에서 Oh My Zsh의 bira 테마를 일부 수정해서 사용하고 있다고 해요.
bira는 Oh My Zsh에 기본으로 들어 있는 테마라 따로 받을 필요가 없는데요. 이렇게 내장 테마 목록에서 하나를 고르고 특정 부분만 조금씩 내가 원하는 느낌으로 바꿔서 사용하는 방식도 있어요.
처음부터 전부 만드는 것과 새로운 테마를 탐색하는 것보다 훨씬 간단한 접근이에요.
그 외 테마들
해커들은 다양한 테마를 사용하고 있었는데요.
Solarized Light
기존 테마들의 대비가 너무 세서 만들어진 테마예요. 무채색 8개, 강조색 8개로 이루어져 있어요. 이 테마를 사용하는 해커는 라이트 모드로 쓰고 있다고 해요.afowler
bira와 마찬가지로 Oh My Zsh에 기본으로 들어 있는 테마예요. 직전 명령이 실패했을 때만 화면 오른쪽 끝에 종료 코드가 빨갛게 떠요.
이 외에도 Oh My Zsh의 configure 중 괜찮아 보이는 것을 사용하거나 기본 테마에서 몇 가지만 커스텀 해서 사용하는 분들도 있었어요.
배경과 글자 색을 바꾸는 배색 테마도 있고 특정 프롬프트 정보를 수정하는 설정도 있으니 어떤 스타일과 잘 맞을지 진행하면서 찾아보는 것도 좋아요.
효율을 올리는 터미널 설정 3가지
단순히 화면을 예쁘게 꾸미는 것을 넘어 실제로 효율을 높여주는 설정도 있어요.
1. 예전에 친 명령어를 미리 보여주는 자동 제안
zsh-autosuggestions는 명령어를 입력하는 동안 회색 글씨로 뒷부분을 미리 보여줘요. 기본적으로 히스토리에서 현재 입력과 일치하는 가장 최근 명령어를 찾아 보여주는 방식입니다. 설정에 따라 다른 제안 방식도 함께 사용할 수 있어요.
길고 복잡한 명령을 자주 반복하는 상황에서 특히 더욱 도움이 돼요. 어제 친 긴 명령을 하나하나 기억하거나 찾지 않아도 앞 몇 글자만 치면 나머지가 따라 나옵니다.
2. 오타를 잡아주는 구문 강조
zsh-syntax-highlighting은 명령어를 입력하는 동안 실시간으로 색을 입혀줘요. 유효한 명령인지 아닌지가 입력하는 중에 색으로 구분돼서 엔터를 누르기 전에 오타를 발견할 수 있어요.
별것 아닌 설정 같지만 경로가 길거나 옵션이 많은 명령을 다룰 때 차이를 느낄 수 있어요. 실행하고 나서 에러 메시지를 읽는 대신 입력하는 도중에 알아채는 것이 효율적이니까요.
3. 히스토리 검색과 커서 이동 단축키
따로 설치하지 않아도 사용할 수 있는 기본 단축키예요. 잘 몰라서 안 쓰는 경우가 많으니 한 번에 정리했어요.
단축키 | 하는 일 |
|---|---|
| 예전에 친 명령어를 검색합니다. 몇 글자만 쳐도 찾아줘요 |
| 커서를 줄 맨 앞 / 맨 뒤로 보냅니다 |
| 커서 앞 단어 하나를 지웁니다 |
| 지금 치던 줄을 통째로 지웁니다 |
| 화면을 정리합니다 |
특히 Ctrl + R은 알고 나면 위쪽 화살표를 연타할 일이 크게 줄어들어요.
여기에 자주 쓰는 명령들을 짧은 이름으로 등록하는 alias까지 추가하면 화면이 예뻐지는 것과 다른 느낌의 편안함을 느낄 수 있어요.
터미널 화면을 나눠 쓰는 방법
로그를 보면서 명령을 치거나 서버에 붙은 채로 다른 작업을 하려면 화면이 두 개 필요하죠. 창을 두 개 띄워도 되지만 한 창 안에서 나누는 방법도 두 가지가 있어요.
터미널 앱의 기본 기능으로 나누기
대부분의 터미널 앱에 이미 들어있는 기능이에요. 따로 설치할 필요가 없습니다.
앱 | 단축키 | 패널 간 이동 |
|---|---|---|
iTerm2 | 좌우 |
|
Windows 터미널 | 오른쪽은 |
|
VS Code 내장 터미널 |
|
Windows 터미널은 Alt + Shift + D를 누르면 화면이 더 정사각형에 가까워지는 방향으로 알아서 나눠줘요. 방향을 고민하지 않고 싶을 때 쓸 수 있는 방법입니다.
macOS 기본 터미널은 성격이 좀 다른데요. Cmd + D로 나눌 수 있지만 셸을 하나 더 띄우는 게 아니라 같은 세션의 출력을 두 화면으로 나눠서 보는 기능이에요. 위쪽에서는 지나간 출력을 스크롤하고 아래쪽에서는 계속 작업하는 식으로 사용할 수 있습니다. 양쪽에서 각각 명령을 치려면 다른 터미널 앱이나 아래에서 설명할 멀티플렉서가 필요해요.
멀티플렉서로 나누기
한 해커는 iTerm2와 함께 멀티플렉서를 쓴다고 답했어요. tmux 같은 도구를 말하는데요. 화면을 나누는 것만 보면 터미널의 기본 기능과 크게 다르지 않지만, 세션이 남는다는 것이 가장 큰 특징이에요.
tmux에서 작업 상태는 세션으로 묶이는데요. 세션에서 빠져나오는 걸 detach라고 해요. detach 한 세션은 사라지지 않고 계속 돌아가죠. 터미널 창을 닫아도 그대로 있고 나중에 다시 붙으면(attach) 나눴던 화면 배치와 돌아가던 작업이 그 상태 그대로 나와요.
가장 자주 활용되는 건 원격 접속이에요. 서버에 붙어 오래 걸리는 작업을 돌리는 중에 연결이 끊겨도 세션은 서버 쪽에서 계속 살아 있어요. 다시 접속해 붙으면 작업하던 자리에서 이어집니다. 앱의 기본 분할은 창을 닫는 순간 함께 사라져요.
다만 영구적이지는 않아요. 세션도 컴퓨터나 서버가 켜져 있는 동안에만 유지되고 재부팅하면 사라져요.
화면을 나누는 것이 목적이라면 앱 기본 단축키로 충분하지만, 원격 서버에서 긴 작업을 돌리는 일이 잦다면 멀티플렉서도 이용해 보세요.
노트북을 바꿔도 커스텀 터미널을 유지하는 방법
시간 들여 세팅했지만 노트북을 바꾸면 처음부터 다시 세팅해야 하니 막막할 수 있어요.
설정이 저장되는 곳이 나누어져 있어서, 그대로 이용할 수 있는 설정과 다시 세팅해야 하는 설정이 있어요.
셸 설정이 모인 .zshrc 파일
zsh라는 셸의 설정 파일인데요. 어떤 터미널 앱을 사용하더라도 그 안에서 zsh를 이용한다면 전부 .zshrc 파일을 읽어요.
한 컴퓨터 안에서는 앱을 바꿔도 그대로고, 컴퓨터를 변경해도 해당 파일이 있다면 그대로 설정을 이용할 수 있어요.
유지되는 설정은 다음과 같아요.
Oh My Zsh와 프롬프트 테마
플러그인
alias와 환경 변수
bash를 쓴다면 .bashrc, fish를 쓰면 다른 파일을 읽으니 어떤 것을 사용하는지 미리 확인해 보는 것도 좋아요.
macOS는 기본 셸이 zsh이고 리눅스 배포판은 bash인 경우가 많아요.
배색과 폰트는 앱마다 따로
반대로 배색과 폰트는 터미널 앱마다 다르게 저장해요.
Ghostty는 ~/.config/ghostty/config 같은 텍스트 파일에, iTerm2는 앱 환경설정 안 프로필에 저장해요.
설정 | 저장되는 곳 | 새 노트북에서 |
|---|---|---|
프롬프트 테마, 플러그인, alias | .zshrc (셸 설정) | 파일 하나 옮기면 그대로 사용 가능 |
배색, 폰트, 분할 단축키 | 앱 설정 (앱마다 상이) | 앱에서 다시 지정 필요 |
내가 사용하는 터미널이 어떤 앱과 셸을 사용하고 있는지, 어떤 테마를 쓰는지에 따라 설정이 달라질 수도 있으니 제대로 확인하는 것을 추천해요.
그 외 터미널 설정 Tip
아이콘이 □로 깨진다면?
Powerlevel10k처럼 아이콘을 쓰는 테마를 적용했지만 네모 상자나 물음표만 보이는 경우가 있어요. 테마가 잘못된 것이 아니라 그 아이콘에 해당하는 폰트가 없어서 발생하는 현상이에요. Nerd Fonts 같은 아이콘 포함 폰트를 쓰면 해결됩니다. 앞에서 aplace 해커가 Cascadia Code를 이용한 것도 같은 이유예요. 폰트는 앱마다 따로 지정해야 해서 iTerm2에서는 잘 보이지만 VS Code 내장 터미널에서 깨지는 일도 있어요.
터미널이 유독 느리다면?
플러그인이 너무 많다면 터미널이 느려질 수 있어요. 플러그인은 터미널을 새로 열 때마다 하나씩 읽히는데요. 때문에 많을수록 창을 열고 프롬프트가 뜨기까지 시간이 늘어나죠. 한 개발자가 자기 환경을 측정해 공개한 사례에서는 약 5초가 걸렸고 그중 절반 이상이 Oh My Zsh 자체를 읽는 시간이었다고 해요.
창을 열 때 잠깐 멈춘다는 느낌이 든다면 안 쓰는 플러그인을 정리해 보세요.
터미널을 내 마음에 맞게 바꿨다면 이제 활용해 보세요!
앞에서 소개한 설정과 명령어도 실제로 사용해 봐야 체감이 오죠.
드림핵에는 리눅스 환경에 직접 접속해서 풀어볼 수 있는 문제들이 있어요. 검정 화면이든 파스텔이든 프롬프트가 어떻게 출력되든 실제로 응용하면서 내가 바꾼 테마를 즐겨보세요.
터미널 테마가 실제 작업에 엄청 큰 영향을 주진 않지만 이렇게 조금씩 익숙해져 보는 것도 좋지 않을까요?
오늘 참고한 해커들이 어떻게 공부했는지 궁금하다면 티오리 해커들의 해킹 공부 루틴을, 어떤 성향을 갖고 있는지 궁금하다면 해커 MBTI 설문을 확인해 보세요!