Starship: prompt nhanh, tối giản, hiện nhánh git, phiên bản runtime và môi trường cloud
Tóm tắt
Starship hiện đúng thông tin cần theo ngữ cảnh: nhánh git, phiên bản runtime, thời gian chạy lệnh, context Kubernetes. Cấu hình trong starship.toml, cần Nerd Font, dùng starship timings khi prompt chậm.
Dấu nhắc lệnh (prompt) là thứ bạn nhìn nhiều nhất trong terminal, nhưng mặc định nó chỉ cho biết tên máy và thư mục. Bạn không biết đang ở nhánh git nào, có file chưa commit không, đang dùng Node hay Python phiên bản nào, có đang trỏ vào cluster Kubernetes production không. Starship là prompt tối giản, nhanh và chạy trên mọi shell (bash, zsh, fish, PowerShell…), tự hiện đúng thông tin cần thiết theo ngữ cảnh thư mục.

Cài đặt
brew install starship # macOS
winget install --id Starship.Starship # Windows
curl -sS https://starship.rs/install.sh | sh # Linux
# Thêm vào cuối ~/.zshrc
eval "$(starship init zsh)"
# bash: eval "$(starship init bash)" fish: starship init fish | source
Để biểu tượng hiển thị đúng, cài một Nerd Font (ví dụ FiraCode Nerd Font) và chọn nó làm font của terminal. Không có Nerd Font, bạn sẽ thấy ô vuông thay vì icon.
Starship hiện gì?
Mỗi phần thông tin là một "module", chỉ hiện khi có liên quan:
| Module | Hiện khi | Thông tin |
|---|---|---|
git_branch, git_status | Trong repo git | Tên nhánh; ký hiệu cho file sửa, chưa track, ahead/behind |
nodejs, python, rust… | Thư mục có package.json, pyproject.toml… | Phiên bản runtime, virtualenv đang bật |
cmd_duration | Lệnh trước chạy lâu | Thời gian chạy |
kubernetes, aws | Khi bật trong cấu hình | Context/namespace, profile AWS |
character | Luôn | Ký tự nhắc, đổi màu khi lệnh trước lỗi |
Cấu hình
Mọi tuỳ chỉnh nằm trong ~/.config/starship.toml:
add_newline = false
[character]
success_symbol = "[➜](bold green)"
error_symbol = "[✗](bold red)"
[cmd_duration]
min_time = 2000 # chỉ hiện nếu lệnh chạy hơn 2 giây (đơn vị ms)
[kubernetes]
disabled = false # module này tắt mặc định
style = "bold red"
[directory]
truncation_length = 3
Không muốn tự viết? Dùng preset có sẵn: starship preset nerd-font-symbols -o ~/.config/starship.toml. Xem danh sách preset trên trang tài liệu starship.rs.
Lệnh hữu ích
starship explain: giải thích từng phần của prompt hiện tại đến từ module nào.starship timings: đo thời gian từng module, tìm module làm prompt chậm.starship print-config: in cấu hình đang có hiệu lực.
Lưu ý
- Trong repo rất lớn, module
git_statuscó thể chậm; dùngstarship timingsđể kiểm tra và tắt hoặc giới hạn nếu cần. - Đừng nhồi quá nhiều module: prompt dài làm mất chỗ gõ lệnh. Chỉ bật thứ bạn thực sự nhìn.
Áp dụng thế nào?
- Dev: Bật module ngôn ngữ bạn dùng để luôn biết đang chạy đúng phiên bản runtime và virtualenv, tránh lỗi "máy tôi chạy được".
- Tech Lead/DevOps: Bật
kubernetesvàawsvới màu đỏ cho context production. Nhìn prompt là biết mình đang đứng ở môi trường nào trước khi gõ lệnh nguy hiểm. - PM: Một cấu hình prompt chung cho team giúp giảm sự cố chạy nhầm môi trường; chi phí thiết lập vài phút.
Nguồn & tham khảo
- starship/starship — starship (GitHub)