개발자라면 하루 종일 터미널과 함께 살아간다고 해도 과언이 아니다. 그런데 기본 터미널 프롬프트는 너무 밋밋하고 정보도 부족해서 답답할 때가 많다. 오늘 소개할 Starship은 이런 고민을 한 방에 해결해주는 혁신적인 터미널 프롬프트다.
Starship이 뭔가요?
Starship은 Rust로 만들어진 크로스 플랫폼 터미널 프롬프트다. 이름에서 알 수 있듯이 우주선처럼 빠르고 강력한 성능을 자랑한다. 가장 큰 특징은 현재 작업 중인 프로젝트의 컨텍스트를 자동으로 인식해서 관련 정보를 프롬프트에 표시해준다는 점이다.
예를 들어, Node.js 프로젝트 폴더에 들어가면 자동으로 Node.js 버전을 표시하고, Git 저장소에서는 브랜치 정보와 상태를 보여준다. Python 프로젝트에서는 가상환경 정보를, Docker 프로젝트에서는 컨테이너 상태를 표시하는 식이다.
왜 Starship을 써야 할까?
속도가 정말 빠르다
Rust로 만들어져서 기존의 다른 프롬프트 도구들보다 훨씬 빠르다. 터미널을 열거나 디렉토리를 이동할 때 지연이 거의 없다. 특히 큰 Git 저장소에서도 브랜치 정보를 즉시 표시해준다.
설정이 간단하다
복잡한 스크립트를 작성할 필요 없이 TOML 파일 하나로 모든 설정을 관리할 수 있다. 기본 설정만으로도 충분히 유용하지만, 원한다면 세세한 부분까지 커스터마이징할 수 있다.
모든 쉘에서 동작한다
Bash, Zsh, Fish, PowerShell 등 거의 모든 쉘에서 사용할 수 있다. 운영체제도 Linux, macOS, Windows 모두 지원한다. 한 번 설정해두면 어떤 환경에서든 동일한 경험을 할 수 있다.
설치와 기본 설정
설치는 정말 간단하다. 각 운영체제별로 패키지 매니저를 통해 설치할 수 있다.
macOS에서는 Homebrew로:
```bash
brew install starship
```
Linux에서는 curl을 이용해서:
```bash
curl -sS https://starship.rs/install.sh | sh
```
Windows에서는 Scoop이나 Chocolatey로 설치할 수 있다.
설치가 끝나면 사용하는 쉘의 설정 파일에 초기화 코드를 추가해야 한다. Bash 사용자라면 `.bashrc`에, Zsh 사용자라면 `.zshrc`에 다음 줄을 추가하면 된다:
```bash
eval "$(starship init bash)" # Bash의 경우
eval "$(starship init zsh)" # Zsh의 경우
```
커스터마이징의 무한한 가능성
Starship의 진짜 매력은 커스터마이징에 있다. `~/.config/starship.toml` 파일을 만들어서 원하는 대로 설정할 수 있다.
기본적인 설정 예시
```toml
프롬프트 형식 설정
format = """
$username\
$hostname\
$directory\
$git_branch\
$git_status\
$nodejs\
$python\
$rust\
$golang\
$docker_context\
$line_break\
$character"""
디렉토리 표시 설정
[directory]
truncation_length = 3
truncate_to_repo = false
Git 브랜치 설정
[git_branch]
symbol = "🌱 "
format = "on [$symbol$branch]($style) "
Node.js 설정
[nodejs]
symbol = "⚡ "
format = "via [$symbol($version )]($style)"
```
테마 적용하기
Starship은 미리 만들어진 여러 테마를 제공한다. 공식 문서에서 다양한 테마를 확인할 수 있고, 마음에 드는 테마의 설정을 복사해서 사용하면 된다.
특히 인기 있는 테마로는 Pastel Powerline, Pure Preset, Nerd Font Symbols 등이 있다. 각각 다른 스타일과 색상을 가지고 있어서 개인 취향에 맞게 선택할 수 있다.
실제 사용 경험
Starship을 사용해보면 개발 효율성이 눈에 띄게 향상된다. 특히 여러 프로젝트를 동시에 작업할 때 각 프로젝트의 환경 정보를 한눈에 파악할 수 있어서 실수를 줄일 수 있다.
Git 작업을 할 때도 현재 브랜치와 변경사항 상태를 바로 확인할 수 있어서 별도로 `git status`를 입력할 필요가 줄어든다. 또한 가상환경이 활성화되어 있는지, 어떤 Python 버전을 사용하고 있는지도 프롬프트에서 바로 확인할 수 있다.
무엇보다 시각적으로 아름다워서 터미널 작업이 더 즐거워진다. 단순히 기능적인 면뿐만 아니라 개발 환경에 대한 만족도도 높아진다.
주의사항과 팁
Starship을 사용할 때 몇 가지 주의할 점이 있다. 먼저 Nerd Font를 설치해야 아이콘들이 제대로 표시된다. 기본 폰트를 사용하면 일부 기호들이 깨져서 보일 수 있다.
또한 너무 많은 모듈을 활성화하면 프롬프트가 복잡해져서 오히려 가독성이 떨어질 수 있다. 자신이 실제로 필요한 정보만 표시하도록 설정하는 것이 좋다.
성능 면에서는 대부분의 경우 문제없지만, 매우 큰 Git 저장소나 느린 네트워크 환경에서는 약간의 지연이 있을 수 있다. 이런 경우 해당 모듈을 비활성화하거나 타임아웃 설정을 조정할 수 있다.
Starship은 단순한 터미널 프롬프트를 넘어서 개발 환경의 생산성을 높여주는 도구다. 설치와 설정이 간단하면서도 강력한 기능을 제공하기 때문에, 터미널을 자주 사용하는 개발자라면 한 번쯤 시도해볼 만한 가치가 있다. 특히 여러 언어와 도구를 사용하는 개발자에게는 더욱 유용할 것이다. 한 번 사용해보면 기본 프롬프트로 돌아가기 어려울 정도로 편리하고 아름다운 개발 환경을 경험할 수 있을 것이다.