ГлавнаяОперационные системыLinuxКак настроить подсказку терминала Linux с помощью Starship

Как настроить подсказку терминала Linux с помощью Starship

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» и вставьте в конец приведенную выше строку кода.

Теперь перезапустите приложение терминала. Вас встретит приглашение звездолета по умолчанию.

Демо звездолета 1

Если у вас есть другая оболочка, а не две вышеперечисленные, перейдите в документацию по космическому кораблю и найдите там нужную оболочку.

Читайте также: Как скопировать и вставить текст, файлы и папки в терминале 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) — подчеркнутый текст с ярко-оранжевым фоном.
Демо-версия звездолета 2

Читайте также: Понятие модуля и переменнойайл в 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

Как добавить пресеты звездолета

Если вы не хотите выполнять все эти настройки самостоятельно, но хотите иметь красивую подсказку терминала «из коробки», вы можете использовать пресеты. Пресеты — это просто файлы конфигурации звездолета, которыми делятся другие пользователи. Вы можете импортировать эти пресеты в свой файл конфигурации, и через мгновение у вас появится красивое приглашение терминала.

Звездный корабль Prompt Powerline 700 пикселей

Вы можете изучить официальные пресеты на этой странице. Приведенное выше приглашение терминала загружено пользователем и доступно на странице настроек. Теперь, чтобы приглашение терминала выглядело так, откройте файл конфигурации звездоле

Быстрая настройка Starship

ой файл.

format = """
[&larr;](#9A348E)\
$username\
[&rarr;](bg:#DA627D fg:#9A348E)\
$directory\
[&rarr;](fg:#DA627D bg:#FCA17D)\
$git_branch\
$git_status\
[&rarr;](fg:#FCA17D bg:#86BBD8)\
$c\
$elixir\
$elm\
$golang\
$haskell\
$java\
$julia\
$nodejs\
$nim\
$rust\
[&rarr;](fg:#86BBD8 bg:#06969A)\
$docker_context\
[&rarr;](fg:#06969A bg:#33658A)\
$time\
[&rarr; ](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 &#61728; 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 = "&hellip;/"
 
# Here is how you can shorten some long paths by text replacement
# similar to mapped_locations in Oh My Posh:
[directory.substitutions]
"Documents" = "&#128196; "
"Downloads" = "&#128229; "
Добавьте нужный модуль#127900; "
"Pictures" = "&#128247; "
# Keep in mind that the order matters. For example:
# "Important Documents" = " &#63256;&#61738; "
# will not be replaced, because "Documents" was already substituted before.
# So either put "Important Documents" before "Documents" or use the substituted version:
# "Important &#63256; " = " &#63256;&#61738; "
 
[c]
symbol = "&copy; "
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[docker_context]
symbol = "&#128051; "
style = "bg:#06969A"
format = '[[ $symbol $context ](bg:#06969A)]($style) $path'
 
[elixir]
symbol = "&#128167; "
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[elm]
symbol = "&#127795; "
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[git_branch]
symbol = "&#9738;"
style = "bg:#FCA17D"
format = '[[ $symbol $branch ](bg:#FCA17D)]($style)'
 
[git_status]
style = "bg:#FCA17D"
format = '[[($all_status$ahead_behind )](bg:#FCA17D)]($style)'
 
[golang]
symbol = "&#128057; "
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[haskell]
symbol = "&lambda; "
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[java]
symbol = "&#9749; "
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[julia]
symbol = "&#2947; "
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[nodejs]
symbol = "&#128311; "
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[nim]
symbol = "&#128081; "Как добавить пресеты звездолетаat = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[rust]
symbol = "&#129408;"
style = "bg:#86BBD8"
format = '[[ $symbol ($version) ](bg:#86BBD8)]($style)'
 
[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "bg:#33658A"
format = '[[ &#129293; $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. Некоторые другие популярные варианты: чистый и синтезаторная оболочка.

Как удалить звездолет?

Часто задаваемые вопросы

Как применить текущий стиль приглашения терминала к другому устройству?

Каковы альтернативы космическому кораблю?

ПОХОЖИЕ СТАТЬИ

Популярные записи