Starship — это кросс-оболочная сборка с использованием языка Rust. Это очень минимальное и невероятно быстрое приглашение терминала. Ключевой причиной его популярности является его настраиваемость. Вы можете легко настроить его с помощью файла конфигурации TOML. Если вы переходите на другое устройство или другую оболочку, просто переместите файл конфигурации в подходящее место, и ваша красивая оболочка автоматически будет готова.
Читайте также: Как изменить размер и оптимизировать изображения из терминала Linux
Обязательное условие
Перед использованием Starship вам необходимо установить шрифт Nerd на свой компьютер. Шрифт Nerd — это красивое сочетание шрифта и значков. Перейдите на Шрифты Ботан и загрузите понравившуюся версию. Если вы не можете определиться, вы также можете просмотреть шрифты на Contents
Обязательное условие
amfonts.org .В моем случае мне нравится «шрифт Fira Code Nerd». Загрузите шрифт и извлеките содержимое внутри него. Вы получите папку с именем «FiraCode» и все версии шрифта.otf и.ttf.
Чтобы установить этот шрифт, перейдите в терминал и выполните следующую команду.
# Creating the local font directory in your system mkdir ~/.local/share/fonts # Moving the extracted fonts to local font directory mv FiraCode ~/.local/share/fonts/
Теперь шрифт FiraCode Nerd стал доступен в вашей системе. Вы также можете установить другие типы шрифтов, следуя приведенному выше руководству.
Если вы хотите прочитать подробное руководство по установке шрифтов на рабочем столе Linux, ознакомьтесь с эта статья о том, как установить шрифты в Ubuntu.
Установить Звездолет
Чтобы установить звездолет, перейдите в свой домашний каталог и выполните следующую команду.
curl -sS https://starship.rs/install.sh | sh
Эта команда загрузит и установит двоичный файл звездолета и добавит его в ваш путь.
Установите Starship на свою оболочку
Если вы используете оболочку bash, откройте файл «~/.bashrc» и вставьте в конец эту строку кода.
eval "$(starship init bash)"
Если вы используете Zsh, вместо этого откройте файл «~/.zshrc» и вставьте в конец приведенную выше строку кода.
Теперь перезапустите приложение терминала. Вас встретит приглашение звездолета по умолчанию.
Если у вас есть другая оболочка, а не две вышеперечисленные, перейдите в документацию по космическому кораблю и найдите там нужную оболочку.
Читайте также: Как скопировать и вставить текст, файлы и папки в терминале Linux
Настроить звездолет
Чтобы настроить приглашение оболочки, создайте файл «starship.toml» в каталоге конфигурации.
# Creating yoУстановить Звездолет
xisted mkdir -p ~/.config # Creating a new starship.toml file touch ~/.config/starship.toml
Вы также можете изменить местоположение по умолчанию файла конфигурации звездолета. Чтобы изменить местоположение файла конфигурации вашего звездолета по умолчанию, добавьте переменную среды STARSHIP_CONFIG
в нижней части файла «~/.bashrc».
Установите Starship на свою оболочку
G=~/example/non/default/path/starship.tomlПонятие модуля и переменной
Модуль — это компонент в командной строке терминала, который предоставляет вам контекстную информацию о базовой операционной системе. Например, Nodejs — это модуль в командной строке звездолета. Когда мы добавляем этот модуль в файл конфигурации, он предоставляет нам различные данные относительно текущей установки Nodejs в вашей среде.
Модуль предоставляет эту информацию в виде переменных. Переменные — это более мелкие подкомпоненты, содержащие информацию о модуле. Например, version
— это переменная «Nodejs». Когда мы вызываем $version
внутри модуля Nodejs, он дает нам текущую установленную версию Nodejs в вашей системе. Переменные имеют префикс $
. Имя переменной может содержать только буквы, цифры и символ «_».
Текстовые группы и стили
Текстовые группы в звездолете состоят из 2 частей. Первая часть заключена под символом [ ]
. Эта часть называется строкой формата. Здесь мы можем добавлять тексты, переменные и даже вложенные текстовые группы.
Последняя часть заключена в ( )
и называется строкой стиля. Вы можете стилизовать текстовую группу, используя эту строку стиля.
Давайте рассмотрим пример.
[make_tech_easier](yellow bold)
напечаНастроить звездолет
жирным шрифтом и желтым цветом.[👍 All Done](green)
напечатает «👍 Все готово» зеленым цветом.[a [b](green) c](red)
Это пример вложенных текстовых групп. Он печатает a и c красным, а b зеленым.
Еще несколько настроек стиля
- Мы можем установить разные передний план и фон для текстовых групп.
[ ](fg:red bg:blue)
сделать цвет шрифта текста красным, а фон синим. - Мы также можем использовать цвета ANSI в файле конфигурации.
[ ](bold fg:27)
представляет жирный текст с цветом ANSI 27 в качестве цвета переднего плана. - Если вы хотите добавить свой шестнадцатеричный цвет, это тоже возможно.
[ ](underline bg:#bf5700)
— подчеркнутый текст с ярко-оранжевым фоном.
Читайте также: Понятие модуля и переменнойайл в Linux
Быстрая настройка Starship
Быстрая настройка звездолета имеет 4 варианта. Мы можем изменить эти 4 параметра, чтобы настроить стиль подсказки.
- формат : определяет, как будет выглядеть приглашение внутри терминала. В качестве подсказки можно определить любой дизайн.
- scan_timeout : время ожидания космического корабля для сканирования файлов.
- command_timeout : тайм-аут команды, выполняемой космическим кораблем.
- add_newline : это логическое значение. Если установлено значение true, между приглашениями оболочки добавляется пустая строка.
Файл настройки демонстрационного приглашения выглядит следующим образом.
# Use custom format format = """ [┌───────────────────>](bold green) [│](bold green)$directory$rust$package [└─>](bold green) """ # Wait 10 milliseconds for starship to check files under the current directory. scan_tТекстовые группы и стили
# Disable the blank line at the start of the prompt add_newline = false
Добавьте нужный модуль
Теперь, когда вы знаете основы звездолета и умеете его настраивать, вы можете очень легко добавить нужный модуль. Имейте в виду, что любой модуль будет работать, если файлы и папки, относящиеся к этому модулю, будут находиться по указанному пути. Проще говоря, модуль Python будет виден только в том случае, если в текущем рабочем каталоге присутствует какой-либо файл Python.
Давайте добавим модуль Python в конфигурацию нашего звездолета в качестве демонстрации. откройте файл starship.toml. Добавьте [python] в новую строку, чтобы активировать среду Python.
Модуль Python показывает информацию об установке Python в вашей ОС или об активации какой-либо виртуальной среды. Если вы хотите изменить значок Python и отобразить имя virtualenv, файл конфигурации будет выглядеть следующим образом.
[python] symbol = "🐍 " pyenv_version_name = true
Если вы установили и python2, и python3, вы можете указать двоичный файл Python по умолчанию, используя файл конфигурации звездолета.
[python<Еще несколько настроек стиля
ython3` binary to get the version. python_binary = "python3"
Как и в этом примере, вы можете добавить любой модуль и настроить его по своему усмотрению.
Читайте также: Как отправить электронную почту с терминала Linux
Как добавить пресеты звездолета
Если вы не хотите выполнять все эти настройки самостоятельно, но хотите иметь красивую подсказку терминала «из коробки», вы можете использовать пресеты. Пресеты — это просто файлы конфигурации звездолета, которыми делятся другие пользователи. Вы можете импортировать эти пресеты в свой файл конфигурации, и через мгновение у вас появится красивое приглашение терминала.
Вы можете изучить официальные пресеты на этой странице. Приведенное выше приглашение терминала загружено пользователем и доступно на странице настроек. Теперь, чтобы приглашение терминала выглядело так, откройте файл конфигурации звездоле
Быстрая настройка Starship
ой файл.format = """ [←](#9A348E)\ $username\ [→](bg:#DA627D fg:#9A348E)\ $directory\ [→](fg:#DA627D bg:#FCA17D)\ $git_branch\ $git_status\ [→](fg:#FCA17D bg:#86BBD8)\ $c\ $elixir\ $elm\ $golang\ $haskell\ $java\ $julia\ $nodejs\ $nim\ $rust\ [→](fg:#86BBD8 bg:#06969A)\ $docker_context\ [→](fg:#06969A bg:#33658A)\ $time\ [→ ](fg:#33658A)\ """ # Disable the blank line at the start of the prompt # add_newline = false # You can also replace your username with a neat symbol like  to save some space [username] show_always = true style_user = "bg:#9A348E" style_root = "bg:#9A348E" format = '[$user ]($style)' [directory] style = "bg:#DA627D" format = "[ $path ]($style)" truncation_length = 3 truncation_symbol = "…/" # Here is how you can shorten some long paths by text replacement # similar to mapped_locations in Oh My Posh: [directory.substitutions] "Documents" = "📄 " "Downloads" = "📥 "Добавьте нужный модуль#127900; " "Pictures" = "📷 " # Keep in mind that the order matters. For example: # "Important Documents" = "  " # will not be replaced, because "Documents" was already substituted before. # So either put "Important Documents" before "Documents" or use the substituted version: # "Important  " = "  " [c] symbol = "© " style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [docker_context] symbol = "🐳 " style = "bg:#06969A" format = '[[ $symbol $context ](bg:#06969A)]($style) $path' [elixir] symbol = "💧 " style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [elm] symbol = "🌳 " style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [git_branch] symbol = "☊" style = "bg:#FCA17D" format = '[[ $symbol $branch ](bg:#FCA17D)]($style)' [git_status] style = "bg:#FCA17D" format = '[[($all_status$ahead_behind )](bg:#FCA17D)]($style)' [golang] symbol = "🐹 " style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [haskell] symbol = "λ " style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [java] symbol = "☕ " style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [julia] symbol = "ஃ " style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [nodejs] symbol = "🔷 " style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [nim] symbol = "👑 "Как добавить пресеты звездолетаat = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [rust] symbol = "🦀" style = "bg:#86BBD8" format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)' [time] disabled = false time_format = "%R" # Hour:Minute Format style = "bg:#33658A" format = '[[ 🤍 $time ](bg:#33658A)]($style)'
Перезагрузите терминал, и приглашение терминала будет выглядеть точно так же, как на изображении. Вы можете найти дополнительные предустановки подсказок терминала и попробовать те, которые подходят вам лучше всего. А пока, если вы хотите попробовать несколько bash советы и рекомендации , эта статья подойдет вам лучше всего.
Как удалить звездолет?
Чтобы удалить звездолет, сначала удалите файл конфигурации звездолета.
rm ~/.config/starship.toml
Затем удалите строку, которую вы вставили во время установки, из файла «~/.bashrc».
Наконец, удалите двоичный файл звездолета со своего устройства.
sh -c 'rm "$(command -v 'starship')"'
Теперь перезапустите терминал, и ваше приглашение восстановится в стиле по умолчанию.
Читайте также: 12 лучших эмуляторов терминала для Windows
Часто задаваемые вопросы
Как применить текущий стиль приглашения терминала к другому устройству?
Это очень легко. Просто скопируйте файл конфигурации звездолета, расположенный в вашем ~/.config/starship.toml
, на другое устройство. Установите звездолет, перезапустите терминал, и все готово.
Каковы альтернативы космическому кораблю?
В Интернете можно найти множество альтернатив звездолету. Для оболочки zsh очень популярна утилита oh-my-zsh. Аналогичным образом, для рыбных раковин oh-my-fish также является хорошо известным инструментом, который люди используют для настройки подсказки своей раковины. Еще один — космический корабль . это настраиваемая подсказка zsh. Некоторые другие популярные варианты: чистый и синтезаторная оболочка.