눈이 편한 터미널 테마색 기록 - Warp 배경색과 글씨색 (HEX·RGB)
✈️ 눈이 편한 터미널 테마색 기록 - Warp 배경색과 글씨색 (HEX·RGB)
🎯 개요
터미널을 오래 보면 배경색과 글씨색 조합에 따라 눈의 피로도가 크게 달라짐 여러 테마를 거쳐 지금 Warp에서 쓰는 조합이 가장 눈이 덜 피로했음 언젠가 터미널을 바꾸거나 설정을 날려도 같은 조합을 복구할 수 있도록 HEX와 RGB 두 표기로 기록해둠 추출 방법도 함께 적어 다른 터미널의 테마색을 뽑을 때 재사용할 수 있게 함 같은 조합을 다른 사람 맥북이나 새 맥북에 그대로 옮기는 절차까지 정리해 테마 하나로 어디서든 같은 화면을 볼 수 있게 함
📋 목록
- 최종 색 조합 (HEX·RGB)
- 이 조합이 눈에 편한 이유
- Warp에서 테마색 추출하기
- iTerm2에서 테마색 추출하기
- HEX와 RGB 변환 원리
- Warp 테마 전체 (ANSI 16색 포함)
- 다른 맥북으로 Warp 테마 이전하기
- 다른 도구에 같은 색 적용하기
✏️ 최종 색 조합 (HEX·RGB)
| 항목 | HEX | R | G | B | CSS 표기 |
|---|---|---|---|---|---|
| 배경색 | #0e2a35 |
14 | 42 | 53 | rgb(14, 42, 53) |
| 글씨색 | #fcf6e5 |
252 | 246 | 229 | rgb(252, 246, 229) |
| 커서색 | #fefffe |
254 | 255 | 254 | rgb(254, 255, 254) |
| 강조색 | #618fce |
97 | 143 | 206 | rgb(97, 143, 206) |
배경은 검정에 가까운 짙은 청록, 글씨는 순백이 아닌 살짝 노란기가 도는 크림색임
💡특이사항
이 테마는 Warp 설치 시 iTerm2 프로필을 자동으로 가져온 “iTerm2 Migrated” 테마임 가져온 시점의 색이 yaml 파일에 고정되므로, 이후 iTerm2 프로필을 바꿔도 Warp 쪽은 그대로 남음
✏️ 이 조합이 눈에 편한 이유
| 요소 | 설명 |
|---|---|
| 순수 검정 배경 회피 | #000000 배경은 글씨와의 명암 대비가 너무 강해 장시간 보면 눈이 쉽게 피로해짐. #0e2a35는 약간 밝기가 있어 대비가 완화됨 |
| 순백 글씨 회피 | #ffffff는 어두운 배경 위에서 번져 보이는 헤일로 현상이 생김. #fcf6e5는 살짝 톤을 낮춘 크림색이라 번짐이 덜함 |
| 청록 계열 배경 | 파랑 계열은 어두운 방에서도 눈부심이 적고, 노란기 있는 글씨와 보색 관계라 가독성이 유지됨 |
| 따뜻한 글씨색 | 크림색은 종이 위 잉크와 비슷한 느낌이라 오래 읽어도 익숙함 |
Solarized Dark(#002b36)와 배경 톤이 비슷한 것도 우연이 아님
Solarized 역시 낮은 대비와 청록 배경으로 장시간 작업을 목표로 설계된 팔레트임
✏️ Warp에서 테마색 추출하기
Warp는 현재 테마 정보를 macOS defaults에, 커스텀 테마 본문은 yaml 파일에 저장함
1. 현재 활성 테마 확인
defaults read dev.warp.Warp-Stable Theme
출력 예시
{"Custom":{"name":"iTerm2 Migrated","path":"/Users/everforest/.warp/themes/iterm2-migrated.yaml"}}
내장 테마를 쓰고 있다면 "Dark" 같은 이름만 나오고, 커스텀 테마면 위처럼 yaml 경로가 나옴
2. yaml 파일에서 색 읽기
cat ~/.warp/themes/iterm2-migrated.yaml
name: iTerm2 Migrated
accent: '#618fce'
cursor: '#fefffe'
background: '#0e2a35'
foreground: '#fcf6e5'
details: darker
background가 배경색, foreground가 글씨색임
Warp는 처음부터 HEX로 저장하므로 변환 없이 바로 사용 가능
💡특이사항
Warp 내장 테마를 쓰는 경우 로컬에 yaml이 없음 이때는 Warp 공식 테마 저장소(github.com/warpdotdev/themes)에서 같은 이름의 yaml을 찾으면 됨
✏️ iTerm2에서 테마색 추출하기
iTerm2는 색을 plist 안에 0~1 사이 실수(Red/Green/Blue Component)로 저장함 그래서 255를 곱해 정수로 만든 뒤 HEX로 바꾸는 과정이 필요함
plutil -convert xml1 -o - ~/Library/Preferences/com.googlecode.iterm2.plist | python3 -c "
import plistlib, sys
d = plistlib.loads(sys.stdin.buffer.read())
default = d.get('Default Bookmark Guid')
def hx(c):
if not c:
return None
return '#%02x%02x%02x' % tuple(
round(c.get(k, 0) * 255)
for k in ('Red Component', 'Green Component', 'Blue Component')
)
for b in d.get('New Bookmarks', []):
tag = ' (기본 프로필)' if b.get('Guid') == default else ''
print(f\"프로필: {b.get('Name')}{tag}\")
print(' 배경색 :', hx(b.get('Background Color')))
print(' 글씨색 :', hx(b.get('Foreground Color')))
print(' 커서색 :', hx(b.get('Cursor Color')))
"
출력 예시
프로필: Default (기본 프로필)
배경색 : #fafafa
글씨색 : #101010
커서색 : #000000
| 항목 | 설명 |
|---|---|
plutil -convert xml1 |
바이너리 plist를 XML로 변환해 파이썬이 읽을 수 있게 함 |
New Bookmarks |
iTerm2 프로필 목록이 담긴 키 |
Default Bookmark Guid |
기본 프로필의 식별자. 이걸로 어느 프로필이 기본인지 판별 |
Background Color / Foreground Color |
각각 배경색·글씨색. 내부는 0~1 실수 |
💡특이사항
GUI로 확인하려면 iTerm2 → Settings → Profiles → Colors 탭에서 색상 박스를 클릭하면 됨 다만 프로필이 여러 개면 어느 것이 기본인지 헷갈리기 쉬워 스크립트가 더 확실함
✏️ HEX와 RGB 변환 원리
HEX 색상 코드는 #RRGGBB 형태로, 두 자리씩 빨강·초록·파랑을 16진수로 표현한 것임
#0e2a35
── ── ──
0e 2a 35
│ │ └─ 파랑: 0x35 = 3×16 + 5 = 53
│ └──── 초록: 0x2a = 2×16 + 10 = 42
└─────── 빨강: 0x0e = 0×16 + 14 = 14
#fcf6e5
── ── ──
fc f6 e5
│ │ └─ 파랑: 0xe5 = 14×16 + 5 = 229
│ └──── 초록: 0xf6 = 15×16 + 6 = 246
└─────── 빨강: 0xfc = 15×16 + 12 = 252
16진수 한 자리는 0~15를 나타내고, a=10, b=11, c=12, d=13, e=14, f=15임
터미널에서 바로 계산하려면
# HEX → RGB
printf '%d %d %d\n' 0x0e 0x2a 0x35 # 14 42 53
# RGB → HEX
printf '#%02x%02x%02x\n' 14 42 53 # #0e2a35
✏️ Warp 테마 전체 (ANSI 16색 포함)
배경·글씨 외에 ls, git diff 등이 쓰는 ANSI 16색도 같은 파일에 정의돼 있음
전체를 남겨두면 그대로 복사해 복구할 수 있음
name: iTerm2 Migrated
accent: '#618fce'
cursor: '#fefffe'
background: '#0e2a35'
foreground: '#fcf6e5'
details: darker
terminal_colors:
normal:
black: '#14191e'
red: '#b43c29'
green: '#00c200'
yellow: '#c7c400'
blue: '#2743c7'
magenta: '#bf3fbd'
cyan: '#00c5c7'
white: '#c7c7c7'
bright:
black: '#676767'
red: '#dc7974'
green: '#57e690'
yellow: '#ece100'
blue: '#a6aaf1'
magenta: '#e07de0'
cyan: '#5ffdff'
white: '#feffff'
| 항목 | 설명 |
|---|---|
accent |
선택 영역·프롬프트 강조 등에 쓰이는 포인트 색 |
details |
darker 또는 lighter. 테마가 어두운 계열인지 밝은 계열인지 Warp에 알려줌 |
terminal_colors.normal |
ANSI 0~7번 색 |
terminal_colors.bright |
ANSI 8~15번 색 (굵은 글씨·밝은 변형) |
✏️ 다른 맥북으로 Warp 테마 이전하기
앞서 본 것처럼 Warp 테마는 yaml 파일 하나가 전부임 그래서 같은 테마를 다른 맥북에 옮기는 일도 파일 하나를 복사하는 것으로 끝남 새 맥북을 세팅하거나, 같은 테마를 쓰고 싶어하는 동료에게 전달할 때 아래 순서대로 하면 됨
1단계: Warp 설치
상대방 맥북 터미널에서 Homebrew로 설치함
brew install --cask warp
설치 후 Warp를 한 번 실행해 계정 생성 등 초기 설정을 마쳐둠
이 과정에서 ~/.warp 폴더가 만들어짐
2단계: 테마 파일 전달
내 맥북에서 아래 파일을 상대방에게 보냄
~/.warp/themes/iterm2-migrated.yaml
전달 방법은 AirDrop, 슬랙·카카오톡 파일 전송, USB, 이메일 첨부 등 편한 것 아무거나 가능 텍스트 파일이라 용량이 1KB 남짓이며, 위 “Warp 테마 전체” 섹션의 yaml을 복사해 새 파일로 만들어도 됨
3단계: 상대방 맥북에 테마 파일 배치
상대방 맥북 터미널에서 테마 폴더를 만들고 전달받은 파일을 넣음
mkdir -p ~/.warp/themes
mv ~/Downloads/iterm2-migrated.yaml ~/.warp/themes/
최종 경로가 아래처럼 되면 됨
/Users/상대방유저명/.warp/themes/iterm2-migrated.yaml
💡특이사항
~/.warp/themes폴더는 커스텀 테마를 한 번도 만든 적 없는 맥북에는 존재하지 않음mkdir -p를 먼저 실행해야mv가 실패하지 않음
4단계: Warp에서 테마 적용
상대방이 Warp를 실행한 뒤 GUI에서 선택함
Cmd + ,로 설정 열기- 왼쪽 메뉴에서 Appearance 클릭
- Current Theme 목록에서 “iTerm2 Migrated” 선택
목록에 안 보이면 Warp를 완전히 종료(Cmd + Q)한 뒤 다시 실행하면 나타남
Warp는 실행 시점에 ~/.warp/themes 폴더를 읽기 때문임
5단계: Powerlevel10k 프롬프트 설정 (선택)
상대방도 Powerlevel10k을 쓴다면 Warp 기본 프롬프트가 p10k 프롬프트를 가려버림 같은 설정 화면에서 아래처럼 바꿔주면 기존 zsh 프롬프트가 그대로 나옴
- Input 항목을 Classic으로 변경
- 그 아래 나타나는 Current prompt를 Shell Prompt (PS1)로 선택
Powerlevel10k을 안 쓴다면 이 단계는 건너뜀
이전 절차 요약
| 순서 | 할 일 | 어디서 |
|---|---|---|
| 1 | brew install --cask warp |
상대방 터미널 |
| 2 | iterm2-migrated.yaml 파일 전달 |
내 맥북 → 상대방 |
| 3 | ~/.warp/themes/ 폴더 만들고 파일 넣기 |
상대방 터미널 |
| 4 | Settings → Appearance → 테마 선택 | 상대방 Warp |
| 5 | Input → Classic → PS1 (p10k 쓸 경우만) | 상대방 Warp |
핵심은 yaml 파일 하나를 ~/.warp/themes/에 넣는 것이 전부이고, 나머지는 GUI에서 클릭만 하면 됨
✏️ 다른 도구에 같은 색 적용하기
Warp가 아닌 도구에도 같은 배경·글씨색을 맞춰두면 창을 오갈 때 눈이 적응할 필요가 없음
| 대상 | 적용 방법 |
|---|---|
| iTerm2 | Settings → Profiles → Colors에서 Background 14,42,53, Foreground 252,246,229 입력 |
| VS Code 통합 터미널 | settings.json에 workbench.colorCustomizations → terminal.background: "#0e2a35", terminal.foreground: "#fcf6e5" |
| 웹 페이지 코드블록 | CSS background: #0e2a35; color: #fcf6e5; |
iTerm2와 VS Code는 RGB 정수 입력을 받는 곳이 있어 HEX와 RGB를 둘 다 알아두면 변환 없이 바로 넣을 수 있음
💡 요약
| 항목 | HEX | RGB |
|---|---|---|
| 배경색 | #0e2a35 |
rgb(14, 42, 53) |
| 글씨색 | #fcf6e5 |
rgb(252, 246, 229) |
- 순수 검정·순백 대신 짙은 청록 배경 + 크림색 글씨 조합이 장시간 작업에 눈이 덜 피로함
- Warp 테마색은
defaults read dev.warp.Warp-Stable Theme로 경로를 찾고 yaml에서 HEX 그대로 읽음 - iTerm2는 plist에 0~1 실수로 저장돼 있어 255를 곱해 HEX로 변환해야 함
- HEX 두 자리 = 16진수 한 채널이며,
printf '%d' 0x0e식으로 셸에서 바로 변환 가능 - ANSI 16색까지 yaml 전체를 보관해두면 어떤 환경에서도 같은 테마를 복구할 수 있음
- 다른 맥북으로 옮길 때는 yaml 하나를
~/.warp/themes/에 넣고 Appearance에서 선택하면 끝이며, p10k 사용자는 Input을 Classic → PS1로 바꿔줌
댓글남기기