본문 바로가기
C.W.K.
Stream
Lesson 06 of 08 · published

Starship: 여러 셸에서 쓰는 프롬프트

~8 min · starship, prompt

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

여러 셸에서 같은 프롬프트 사용하기

Starship은 zsh, bash, fish, nushell, PowerShell에서 같은 설정을 공유하는 Rust 프로그램이야. 디렉터리, Git 상태, 언어 런타임, Kubernetes 같은 정보를 모듈로 조합해 어느 셸에서도 비슷한 프롬프트를 보여 줘.

셸 함수 대신 Rust 프로그램을 쓰는 이유

프롬프트는 명령이 끝날 때마다 다시 계산돼. Git, 가상 환경, Kubernetes 정보를 셸 함수로 차례로 조회하면 느려질 수 있어. Starship은 모듈 실행과 제한 시간을 관리하지만, 필요한 정보만 켜고 큰 저장소에서 실제 지연을 측정하는 게 우선이야.

설정 파일의 핵심 블록

~/.config/starship.toml에 다음처럼 작성해.

add_newline = true
format = """
$directory$git_branch$git_status$python$nodejs$kubernetes
$character"""

[character]
success_symbol = "[➜](green)"
error_symbol = "[✗](red)"

[git_status]
modified = "!"
untracked = "?"

format은 모듈 순서와 줄바꿈을 정해. [➜](green)[✗](red)는 Markdown 링크가 아니라 Starship의 문자열 스타일 문법이야.

미리 만든 설정에서 시작하기

starship preset gruvbox-rainbow -o ~/.config/starship.toml
starship preset nerd-font-symbols -o ~/.config/starship.toml
starship preset pure-preset -o ~/.config/starship.toml

미리 만든 설정은 출발점이야. 명령이 기존 파일을 덮어쓸 수 있으므로 백업하거나 새 출력 경로를 사용하고 차이를 확인해.

Powerlevel10k와 비교하기

Starship은 여러 셸을 지원하고, Powerlevel10k는 zsh 전용이지만 빠른 표시와 초기 설정 마법사를 제공해. 여러 셸에서 같은 구성을 원하면 Starship, zsh 하나에 맞춘 경험을 원하면 Powerlevel10k처럼 사용 범위에 따라 골라.

프롬프트는 상태판이지 진실의 원본이 아니야

캐시나 모듈 제한 시간 때문에 브랜치, 런타임, 클라우드 대상이 생략될 수 있어. 배포나 삭제 전에는 전용 명령으로 실제 대상을 확인해. 예쁜 기호가 안전 확인 절차를 대신하지 않아.

느리다면 모듈을 하나씩 줄여

셸 시작 시간과 프롬프트를 그리는 시간을 따로 측정해. 큰 저장소 조회, 네트워크 명령, 버전 관리자 모듈을 하나씩 끄면서 병목을 찾아. 정보가 적더라도 빠르고 예측 가능한 기본값이 오래 쓰기 좋아.

Code

최소 starship 설정·toml
# 설정 파일: ~/.config/starship.toml
add_newline = true

[character]
success_symbol = "[➜](green)"
error_symbol = "[✗](red)"

[git_status]
ahead = "⇡"
behind = "⇣"
diverged = "⇕"

External links

Exercise

Starship을 아직 설정하지 않았다면 기존 설정 파일을 백업한 뒤 원하는 preset을 새 파일로 생성해. Git 저장소와 일반 디렉터리를 오가며 표시가 어떻게 달라지는지 보고, 글꼴이 지원하지 않는 아이콘도 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.