Starship est une construction d’invite cross-shell utilisant le langage rouille. Il s’agit d’une invite de terminal très minime et extrêmement rapide. La principale raison de sa popularité est sa personnalisation. Vous pouvez facilement le personnaliser à l’aide d’un fichier de configuration TOML. Si vous passez à un autre appareil ou à un autre shell, déplacez simplement le fichier de configuration à l’emplacement approprié, et automatiquement votre magnifique shell sera prêt.
Prérequis
Avant d’utiliser Starship, vous devez installer une police nerd sur votre ordinateur. La police Nerd est un beau mélange de police et d’icônes. Aller à Polices Nerd et téléchargez votre préféré. Si vous n’arrivez pas à vous décider, vous pouvez également prévisualiser les polices sur programmationfonts.org.
Dans mon cas, j’aime la « police Fira Code Nerd ». Téléchargez la police et extrayez le contenu qu’elle contient. Vous obtiendrez un dossier nommé « FiraCode » et toutes les versions .otf et .ttf de la police.
Pour installer cette police, accédez à votre terminal et exécutez la commande suivante.
# 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/
La police FiraCode Nerd est maintenant disponible dans votre système. Vous pouvez également installer d’autres types de polices en suivant le guide ci-dessus.
Si vous aimez lire un guide détaillé sur l’installation des polices sur un bureau Linux, consultez cet article sur l’installation des polices dans Ubuntu.
Installer le vaisseau spatial
Pour installer Starship, accédez à votre répertoire personnel et exécutez la commande suivante.
curl -sS https://starship.rs/install.sh | sh
Cette commande téléchargera et installera le binaire du vaisseau spatial et l’ajoutera à votre chemin.
Installez Starship sur votre coque
Si vous utilisez un shell bash, ouvrez votre fichier « ~/.bashrc » et collez cette ligne de code à la fin.
eval "$(starship init bash)"
Si vous utilisez Zsh, ouvrez votre fichier « ~/.zshrc » à la place et collez la ligne de code ci-dessus à la fin.
Redémarrez maintenant votre application de terminal. Vous serez accueilli par l’invite de vaisseau par défaut.
Si vous avez un autre obus plutôt que les deux ci-dessus, accédez à la documentation du vaisseau spatial et trouvez-y votre obus préféré.
Personnaliser le vaisseau
Pour personnaliser votre invite de shell, créez un fichier « starship.toml » dans votre répertoire de configuration.
# Creating your .config directory if not existed mkdir -p ~/.config # Creating a new starship.toml file touch ~/.config/starship.toml
Vous pouvez également modifier l’emplacement par défaut du fichier de configuration du vaisseau spatial. Pour changer l’emplacement par défaut de votre fichier de configuration de vaisseau spatial, ajoutez le STARSHIP_CONFIG
variable d’environnement en bas de votre fichier « ~/.bashrc ».
export STARSHIP_CONFIG=~/example/non/default/path/starship.toml
Notion de module et de variable
Un module est un composant de l’invite du terminal, qui vous donne des informations contextuelles sur le système d’exploitation sous-jacent. Par exemple, Nodejs est un module dans l’invite du vaisseau spatial. Lorsque nous ajoutons ce module au fichier de configuration, il nous donne différents points de données concernant l’installation actuelle de Nodejs dans votre environnement.
Le module donne ces informations en termes de variables. Les variables sont des sous-composants plus petits qui contiennent des informations sur le module. Par exemple, version
est la variable de « Nodejs ». Lorsque nous appelons le $version
à l’intérieur du module Nodejs, il nous donne la version actuellement installée de Nodejs dans votre système. Les variables sont préfixées par $
symbole. Le nom d’une variable ne peut contenir que des lettres, des chiffres et « _ ».
Groupes de texte et styles
Les groupes de texte dans Starship contiennent 2 parties. La première partie est jointe sous le [ ]
symbole. Cette partie est appelée chaîne de format. Nous pouvons ajouter des textes, des variables et même des groupes de texte imbriqués ici.
Cette dernière partie est jointe sous ( )
et c’est ce qu’on appelle la chaîne de style. Vous pouvez styliser le groupe de texte à l’aide de cette chaîne de style.
Prenons un exemple.
[make_tech_easier](yellow bold)
imprimera la chaîne « make_tech_easier » avec du texte en gras et de la couleur jaune.[👍 All Done](green)
imprimera « 👍 All Done » en vert.[a [b](green) c](red)
Ceci est un exemple de groupes de texte imbriqués. Il imprime un et c en rouge et b en vert.
Quelques paramètres de style supplémentaires
- Nous pouvons définir différents avant-plans et arrière-plans pour les groupes de texte.
[ ](fg:red bg:blue)
rendre la couleur de la police du texte rouge et l’arrière-plan bleu. - Nous pouvons également utiliser les couleurs ANSI dans le fichier de configuration.
[ ](bold fg:27)
représentent le texte en gras avec la couleur ANSI 27 comme couleur de premier plan. - Si vous souhaitez ajouter votre couleur hexadécimale, cela est également possible.
[ ](underline bg:#bf5700)
donne un texte souligné avec une couleur de fond orange vif.
Personnalisation rapide dans Starship
La personnalisation rapide du vaisseau a 4 options. Nous pouvons modifier ces 4 options pour personnaliser le style d’invite.
- format: Il définit à quoi ressemblerait l’invite à l’intérieur du terminal. Vous pouvez définir n’importe quelle conception comme invite.
- scan_timeout: Délai d’attente d’un vaisseau spatial pour analyser les fichiers.
- command_timeout: Timeout pour la commande exécutée par le vaisseau.
- add_newline: C’est un booléen. S’il est défini sur true, il ajoute une ligne vide entre l’invite du shell.
Un fichier de personnalisation d’invite de démonstration ressemble à ceci.
# 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_timeout = 10 # Disable the blank line at the start of the prompt add_newline = false
Ajoutez le module souhaité
Maintenant que vous connaissez les bases du vaisseau spatial et comment le personnaliser, vous pouvez ajouter très facilement le module souhaité. Gardez à l’esprit que n’importe quel module fonctionnera si les fichiers et le dossier liés à ce module se présenteront au chemin donné. Simplement, le module python ne sera visible que si un fichier python est présent dans le répertoire de travail actuel.
Ajoutons le module python à notre configuration de vaisseau spatial en tant que démo. ouvrez votre fichier starship.toml. Là ajouter [python] dans une nouvelle ligne pour activer l’environnement python.
Le module Python affiche les informations sur l’installation de Python dans votre système d’exploitation ou si un environnement virtuel est activé. Si vous souhaitez modifier l’icône python et afficher le nom virtualenv, le fichier de configuration ressemble à ceci.
[python] symbol = "🐍 " pyenv_version_name = true
Si vous avez installé à la fois python2 et python3, vous pouvez spécifier le binaire python par défaut à l’aide du fichier de configuration de starship.
[python] # Only use the `python3` binary to get the version. python_binary = "python3"
Comme cet exemple, vous pouvez ajouter n’importe quel module que vous voulez et les personnaliser selon votre imagination.
Comment ajouter des préréglages de vaisseau spatial
Si vous ne voulez pas faire toutes ces personnalisations vous-même, mais que vous voulez une belle invite de terminal prête à l’emploi, vous pouvez utiliser des préréglages. Les préréglages sont simplement des fichiers de configuration de vaisseau partagés par d’autres utilisateurs. Vous pouvez importer ces préréglages dans votre fichier de configuration et vous obtenez une belle invite de terminal en un instant.
Vous pouvez explorer les préréglages officiels sur cette page. L’invite de terminal ci-dessus est téléchargée par un utilisateur et disponible sur la page des préréglages. Maintenant, pour que l’invite de votre terminal ressemble à ceci, ouvrez le fichier de configuration de votre vaisseau spatial et ajoutez cette configuration à votre fichier.
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" = "📥 " "Music" = "🎜 " "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 = "👑 " style = "bg:#86BBD8" format = '[[ $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)'
Redémarrez votre terminal et l’invite de votre terminal ressemblera exactement à l’invite de l’image. Vous pouvez rechercher d’autres préréglages d’invites de terminal et essayer celui qui vous convient le mieux. En attendant, si vous souhaitez essayer quelques trucs et astuces bash, cet article devrait vous convenir le mieux.
Comment désinstaller Starship ?
Pour désinstaller Starship, commencez par supprimer votre fichier de configuration de Starship.
rm ~/.config/starship.toml
Supprimez ensuite la ligne que vous avez collée lors de l’installation dans le fichier « ~/.bashrc ».
Enfin, désinstallez le binaire du vaisseau spatial de votre appareil.
sh -c 'rm "$(command -v 'starship')"'
Relancez maintenant votre terminal et votre invite restaurée au style par défaut.
Questions fréquemment posées
Comment appliquer mon style d’invite de terminal actuel à un autre appareil ?
C’est très facile. Copiez simplement le fichier de configuration de votre vaisseau situé dans votre ~/.config/starship.toml
à l’autre appareil. Installez le vaisseau spatial, redémarrez le terminal et vous avez terminé.
Quelles sont les alternatives au vaisseau spatial ?
Il existe de nombreuses alternatives au vaisseau spatial que vous pouvez trouver en ligne. Pour le shell zsh, oh-my-zsh est un utilitaire très populaire. De même, pour les coquilles de poisson, oh-my-fish est également un outil bien connu que les gens utilisent pour personnaliser leur invite de coquille. Un autre est vaisseau spatial. il s’agit d’une invite zsh personnalisable. Certaines autres options populaires sont pur et synthé-shell.