Tools

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.

Trang GitHub của starship/starship
Trang GitHub của starship/starship (ảnh chụp tháng 11/2026)

GitHub: https://github.com/starship/starship · khoảng 61 nghìn sao · Rust · ISC

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:

ModuleHiện khiThông tin
git_branch, git_statusTrong repo gitTê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_durationLệnh trước chạy lâuThời gian chạy
kubernetes, awsKhi bật trong cấu hìnhContext/namespace, profile AWS
characterLuônKý 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_status có thể chậm; dùng starship 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 kubernetes và aws vớ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

  1. starship/starship — starship (GitHub)