Ако прекарвате голяма част от деня си в терминала, знаете, че информацията е всичко. Стандартните промптове (командните редове) често са бедни на информация или прекалено тромави. Тук се намесва Starship – минималистичен, светкавично бърз и безкрайно персонализируем промпт, написан на Rust.
Какво е Starship?
Starship е „обвивка“ (prompt) за вашия шел (shell), която работи с почти всичко: Bash, Zsh, Fish, PowerShell и дори нови платформи като Nushell. Той е проектиран да бъде:
- Интелигентен: Показва информация само когато е нужна (например версия на Python, само ако сте в папка с
.pyфайлове). - Бърз: Благодарение на Rust, Starship е оптимизиран за мигновена реакция.
- Красив: Поддържа икони, цветове и различни стилове.
Как да инсталираме Starship?
Процесът е изключително лесен и зависи от вашата операционна система:
1. Инсталация на софтуера
- macOS (чрез Homebrew):Bash
brew install starship - Linux (чрез скрипт):Bash
curl -sS https://starship.rs/install.sh | sh - Windows (чрез Winget):PowerShell
winget install starship
2. Активиране в шела
След като софтуерът е инсталиран, трябва да кажете на вашия терминал да го използва при всяко стартиране. Добавете следния ред в края на конфигурационния файл на вашия шел:
- За Zsh (
~/.zshrc):eval "$(starship init zsh)" - За Bash (
~/.bashrc):eval "$(starship init bash)" - За PowerShell (профилът ви):
Invoke-Expression (&starship init powershell)
Важно: За да виждате иконите правилно, трябва да инсталиратеNerd Font(например FiraCode Nerd Font) и да го зададете като основен шрифт в настройките на вашия терминален емулатор.
Конфигурация: Пътят към съвършенството
Силата на Starship е в неговия конфигурационен файл. По подразбиране Starship търси настройки в директорията ~/.config.
Създаване на директорията и файла
Ако все още нямате такава папка, изпълнете следните команди:
# Създава папката .config (ако не съществува)
mkdir -p ~/.config
# Създава самия конфигурационен файл
touch ~/.config/starship.toml
Пример за конфигурационен файл (starship.toml)
Отворете файла с любимия си текстов редактор (VS Code, Nano, Vim) и добавете нещо подобно. Това е базов, но изключително функционален стил:
# Форматът на целия промпт
format = """
$directory\
$git_branch\
$git_status\
$nodejs\
$python\
$rust\
$character
"""
# Настройка на символа за въвеждане
[character]
success_symbol = "[➜](bold green)"
error_symbol = "[➜](bold red)"
# Настройка на директорията
[directory]
style = "bold cyan"
truncation_length = 3
truncation_symbol = "…/"
# Информация за Git бранша
[git_branch]
symbol = " "
style = "bold purple"
# Информация за Node.js
[nodejs]
symbol = " "
style = "bold green"
Как се използва?
Най-хубавото на Starship е, че не трябва да правите нищо специално. След като е инсталиран и конфигуриран, той автоматично ще променя външния си вид спрямо контекста:
- Ако влезете в папка с Git хранилище, веднага ще видите текущия бранш и дали имате незапазени промени.
- Ако влезете в проект на Node.js, ще видите иконата на Node и версията, която използвате в момента.
- Ако последната команда е завършила с грешка, стрелката на промпта ще стане червена.
🚀 Професионална конфигурация: Пълна прозрачност и стил
Ако искате терминалът ви да изглежда като този на опитен системен администратор или програмист, ето една усъвършенствана конфигурация. Тя използва двуредов формат за по-добра четимост и включва мониторинг на ресурсите.
Какво прави тази конфигурация специална?
- Двуредов изглед: Първият ред е за информация, а вторият е чистото пространство, където пишете командите си.
- Интелигентни символи: Използва икони за домашната директория (🏠), Python (🐍) и Node.js (⬢).
- Хардуерен мониторинг: Показва заетостта на паметта, когато тя надхвърли 50%.
- Пълна идентификация: Показва потребителското име и хоста, което е критично при работа с SSH.
Пълният код за ~/.config/starship.toml
Можете директно да копирате и поставите този код във вашия конфигурационен файл:
# ============================================
# ЗВЕЗДЕН КОРАБ (STARSHIP) КОНФИГУРАЦИЯ
# Файл: ~/.config/starship.toml
# От Федя Серафиев
# ============================================
# Основен формат на промпта
format = """
[╭─](bold green)$username$hostname$directory$git_branch$git_status$python$nodejs$docker_context$memory_usage$time
[╰─](bold green)$cmd_duration$character"""
# ========= СИМВОЛИ =========
[character]
success_symbol = "[➜](bold green)"
error_symbol = "[✗](bold red)"
vicmd_symbol = "[V](bold purple)"
# ========= ДИРЕКТОРИЯ =========
[directory]
truncation_length = 3
truncate_to_repo = true
home_symbol = "🏠 "
format = "[$path]($style)"
style = "bold blue"
read_only = " סּ"
read_only_style = "red"
# ========= GIT КЛОН =========
[git_branch]
symbol = " "
format = "[$symbol$branch]($style)"
style = "bold yellow"
# ========= GIT СТАТУС =========
[git_status]
format = '([\[$all_status$ahead_behind\]](red))'
disabled = false
# ========= ПОТРЕБИТЕЛ =========
[username]
format = "[$user]($style)@"
style_user = "bold cyan"
style_root = "bold red"
show_always = true
# ========= ХОСТ =========
[hostname]
format = "[$hostname]($style):"
ssh_symbol = "🌐 "
ssh_only = false
style = "bold purple"
# ========= ПАМЕТ =========
[memory_usage]
disabled = false
threshold = 50
format = "[🖥 $percentage%]($style) "
style = "bold dimmed white"
# ========= PYTHON =========
[python]
format = "[🐍 $version](bold yellow) "
pyenv_version_name = true
pyenv_prefix = "venv "
# ========= NODE.JS =========
[nodejs]
format = "[⬢ $version](bold green) "
# ========= DOCKER =========
[docker_context]
symbol = "🐳 "
format = "[$symbol$context]($style)"
style = "bold cyan"
only_with_files = true
💡 Бонус съвет: Състояние на батерията (за лаптоп)
Ако работите на лаптоп и често сте в движение, можете да добавите и модула за батерията. Той е програмиран да се появява само когато батерията падне под определен процент.
[battery]
full_symbol = "🔋 "
charging_symbol = "⚡ "
discharging_symbol = "🪫 "
format = "[$symbol$percentage]($style) "
[[battery.display]]
threshold = 15 # Показва се само под 15%
style = "bold red"
[[battery.display]]
threshold = 30 # Показва се в жълто под 30%
style = "bold yellow"⭐ Основни Starship команди
🔹 Проверка на версията
starship --version
🔹 Помощ и налични команди
starship --help
🔹 Проверка дали Starship е активен
echo $STARSHIP_SHELL
🔹 Генериране на default конфигурация
starship print-config
Полезно за:
- преглед на всички модули
- база за собствен
starship.toml
🔹 Обяснение на текущия prompt (много полезно)
starship explain
Показва:
- кои модули се визуализират
- защо са активни
- в какъв ред
🔹 Валидиране на конфигурацията
starship check
Хваща:
- синтактични грешки
- невалидни модули
- грешни ключове в TOML
🔹 Тестване с временна конфигурация
STARSHIP_CONFIG=/path/to/test.toml starship explain
Идеално за експерименти без да чупиш основния конфиг.
🛠 Управление през shell
🔹 Активиране в bash
eval "$(starship init bash)"
🔹 Временно деактивиране (текуща сесия)
STARSHIP_DISABLE=1 bash
🔹 Пълно изключване
(коментираш в ~/.bashrc)
# eval "$(starship init bash)"
🧪 Debug / диагностика
🔹 Проверка кой конфиг се използва
echo $STARSHIP_CONFIG
(ако е празно → ~/.config/starship.toml)
🔹 Benchmark / време за изпълнение
starship timings
Много полезно, ако prompt-ът стане тежък.
🧩 Работа с модули (най-често)
Няма CLI команди за enable/disable — това става в TOML:
[module_name]
disabled = true
Пример:
[memory_usage]
disabled = true
📌 Най-ползваният „реален“ сет (обобщение)
starship --version
starship explain
starship print-config
starship check
starship timings
Това са 90% от ежедневната употреба.

