프로처럼 MacOS 터미널을 Starship으로 커스터마이징하기
Source: Dev.to
Starship 설치
brew install starship
Zsh 설정 파일을 편집합니다:
nano ~/.zshrc
모든 Zsh 세션에서 Starship을 로드하도록 다음 줄을 추가합니다:
eval "$(starship init zsh)"
선택 플러그인
이 플러그인들은 명령을 실시간으로 강조하고, 명령 기록 및 현재 입력을 기반으로 제안을 제공하여 터미널 경험을 향상시킵니다.
brew install zsh-syntax-highlighting
brew install zsh-autosuggestions
~/.zshrc를 다시 편집하고 플러그인 로드 줄을 추가합니다:
source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
Nerd Font 설치
터미널이 아이콘과 사용자 정의 글리프를 올바르게 렌더링하도록 Nerd Font를 설치합니다:
brew search font-fira-code-nerd-font # 가용성 확인
brew install --cask font-fira-code-nerd-font
터미널에 Nerd Font 사용하도록 설정
| 옵션 | 값 |
|---|---|
| Terminal Font | FiraCode Nerd Font |
VS Code 설정 (선택 사항)
{
"terminal.integrated.fontFamily": "FiraCode Nerd Font",
"editor.fontFamily": "Menlo, Monaco, 'Courier New', monospace, 'FiraCode Nerd Font'"
}
Starship 설정 파일 만들기
mkdir -p ~/.config && nano ~/.config/starship.toml
starship.toml에 다음 내용을 추가합니다:
# Get editor completions based on the config schema
"$schema" = 'https://starship.rs/config-schema.json'
format = """
$directory$git_branch$git_status$fill$aws$nodejs$java$gradle
$os$character
"""
[fill]
symbol = ' '
[directory]
format = '[ $path ]($style)[$read_only]($read_only_style)'
style = 'bg:blue'
read_only_style = 'bg:red'
truncate_to_repo = true
truncation_length = 1
[git_branch]
format = '[ $symbol$branch ]($style)'
style = 'bg:green'
[git_status]
format = '[$all_status$ahead_behind](bg:green)'
conflicted = '[ = ](bg:yellow bold)'
ahead = '[ ⇡ ](bg:yellow bold)'
behind = '[ ⇣ ](bg:yellow bold)'
diverged = '[ ⇕ ](bg:yellow bold)'
up_to_date = ''
untracked = '[ ? ](bg:yellow bold)'
stashed = '[ $ ](bg:yellow bold)'
modified = '[ ! ](bg:yellow bold)'
staged = '[ + ](bg:yellow bold)'
renamed = '[ » ](bg:yellow bold)'
deleted = '[ ✘ ](bg:yellow bold)'
typechanged = ""
[aws]
format = '[ $symbol $profile $region ]($style)'
symbol = ' '
[nodejs]
format = '[ $symbol $version ]($style)'
version_format = '${raw}'
[java]
format = '[ $symbol:$version ]($style)'
version_format = '${raw}'
style = 'bg:red bold'
symbol = 'jdk'
[gradle]
format = '[ $symbol $version ]($style)'
version_format = '${raw}'
symbol = ''
[os]
format = '[$symbol ]($style)'
disabled = false
[os.symbols]
Macos = ''
[character]
success_symbol = "[❯](bold default)"
error_symbol = '[✗](bold red) '
프롬프트 사용하기
AWS 프로필
AWS_PROFILE 환경 변수를 설정하여 AWS 프로필을 전환합니다:
export AWS_PROFILE=your-profile-name
프롬프트에 현재 활성화된 AWS 프로필(예: root)과 리전(예: us-east-1)이 표시됩니다.
Node.js
Node.js 프로젝트 디렉터리에서 터미널을 엽니다. Starship은 현재 활성화된 Node.js 버전을 표시하며, nvm 같은 도구로 버전을 변경하면 자동으로 업데이트됩니다:
nvm use 18
Git 정보(브랜치, 상태 아이콘)도 함께 표시됩니다.
Java / Gradle
Java 프로젝트 디렉터리에서 터미널을 엽니다. 프롬프트에 다음이 표시됩니다:
- 현재 활성화된 Java 버전
- 현재 활성화된 Gradle 버전
- 활성화된 AWS 프로필 및 리전 정보(있는 경우)
맞춤형이며 상황에 맞는 풍부한 터미널을 즐기세요!