0
(0)

Starship es una compilación de avisos entre shells que utiliza el lenguaje rust. Este es un indicador de terminal muy mínimo y increíblemente rápido. La razón clave de su popularidad es su personalización. Puede personalizarlo fácilmente usando un archivo de configuración TOML. Si está cambiando a un dispositivo diferente o a un shell diferente, simplemente mueva el archivo de configuración a la ubicación adecuada y automáticamente su hermoso shell estará listo.

Requisito previo

Antes de usar Starship, debe instalar una fuente nerd en su computadora. La fuente Nerd es una hermosa combinación de fuentes e íconos. Ir a Fuentes Nerd y descarga tu favorito. Si no puede decidirse, también puede obtener una vista previa de las fuentes en programacionfonts.org.

En mi caso, me gusta la “fuente Fira Code Nerd”. Descarga la fuente y extrae el contenido que contiene. Obtendrá una carpeta llamada «FiraCode» y todas las versiones .otf y .ttf de la fuente.

Para instalar esta fuente, vaya a su terminal y ejecute el siguiente comando.

# 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/

Ahora la fuente FiraCode Nerd está disponible en su sistema. También puede instalar otros tipos diferentes de fuentes siguiendo la guía anterior.

Si desea leer una guía detallada sobre la instalación de fuentes en un escritorio Linux, consulte este artículo sobre cómo instalar fuentes en Ubuntu.

Instalar Starship

Para instalar Starship, vaya a su directorio de inicio y ejecute el siguiente comando.

curl -sS  | sh

Este comando descargará e instalará el binario de Starship y lo agregará a su ruta.

Instale Starship en su caparazón

Si está utilizando un shell bash, abra su archivo “~/.bashrc” y pegue esta línea de código al final.

eval "$(starship init bash)"

Si está utilizando Zsh, abra su archivo «~/.zshrc» y pegue la línea de código anterior al final.

Ahora reinicie su aplicación de terminal. Serás recibido por el mensaje predeterminado de la nave estelar.

Demostración de nave estelar 1

Si tiene algún otro caparazón en lugar de los dos anteriores, vaya a la documentación de la nave estelar y encuentre allí su caparazón preferido.

Personalizar nave estelar

Para personalizar su indicador de shell, cree un archivo «starship.toml» en su directorio de configuración.

# Creating your .config directory if not existed
mkdir -p ~/.config
 
# Creating a new starship.toml file
touch ~/.config/starship.toml

También puede cambiar la ubicación predeterminada del archivo de configuración de la nave estelar. Para cambiar la ubicación predeterminada de su archivo de configuración de nave estelar, agregue el STARSHIP_CONFIG variable de entorno en la parte inferior de su archivo «~/.bashrc».

export STARSHIP_CONFIG=~/example/non/default/path/starship.toml

Concepto de Módulo y Variable

Un módulo es un componente en el indicador del terminal, que le brinda información contextual sobre el sistema operativo subyacente. Por ejemplo, Nodejs es un módulo en el aviso de Starship. Cuando agregamos este módulo al archivo de configuración, nos brinda diferentes puntos de datos con respecto a la instalación actual de Nodejs en su entorno.

El módulo da esa información en términos de variables. Las variables son subcomponentes más pequeños que contienen información sobre el módulo. Por ejemplo, version es la variable de “Nodejs”. Cuando llamamos a la $version dentro del módulo Nodejs, nos da la versión actualmente instalada de Nodejs en su sistema. Las variables tienen el prefijo $ símbolo. El nombre de una variable solo puede contener letras, números y “_”.

Grupos de texto y estilos

Los grupos de texto en Starship contienen 2 partes. La primera parte se adjunta bajo el [ ] símbolo. Esta parte se llama cadena de formato. Podemos agregar textos, variables e incluso grupos de texto anidados aquí.

La última parte se adjunta bajo ( ) y esto se llama cadena de estilo. Puede diseñar el grupo de texto usando esta cadena de estilo.

Tomemos un ejemplo.

  • [make_tech_easier](yellow bold) imprimirá la cadena «make_tech_easier» con texto en negrita y color amarillo.
  • [👍 All Done](green) imprimirá «👍 Todo Listo» en color verde.
  • [a [b](green) c](red) Este es un ejemplo de grupos de texto anidados. se imprime a y C en rojo y b en verde.

Algunas configuraciones de estilo más

  • Podemos establecer diferentes primeros planos y fondos para los grupos de texto. [ ](fg:red bg:blue) hacer que el color de la fuente del texto sea rojo y el fondo azul.
  • También podemos usar colores ANSI en el archivo de configuración. [ ](bold fg:27) representar texto en negrita con color ANSI 27 como color de primer plano.
  • Si desea agregar su color hexadecimal, esto también es posible. [ ](underline bg:#bf5700) da un texto subrayado con un color de fondo naranja brillante.

Demostración de nave estelar 2

Personalización rápida en Starship

La personalización rápida de Starship tiene 4 opciones. Podemos cambiar estas 4 opciones para personalizar el estilo de solicitud.

  • formato: Define cómo se vería el indicador dentro de la terminal. Puede definir cualquier diseño como un aviso.
  • scan_timeout: Tiempo de espera para que una nave espacial escanee archivos.
  • comando_tiempo de espera: Tiempo de espera para el comando ejecutado por la nave estelar.
  • añadir_nuevalínea: Es un booleano. Si se establece en verdadero, agrega una línea en blanco entre el indicador de shell.

Un archivo de personalización de solicitud de demostración tiene este aspecto.

# 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

Agregue su módulo deseado

Ahora que conoce los conceptos básicos de Starship y cómo personalizarlo, puede agregar el módulo deseado muy fácilmente. Tenga en cuenta que cualquier módulo funcionará si los archivos y la carpeta relacionados con este módulo se presentan en la ruta indicada. Simplemente, el módulo de python solo será visible si hay algún archivo de python dentro del directorio de trabajo actual.

Agreguemos el módulo python a nuestra configuración de nave estelar como demostración. abre tu archivo starship.toml. Ahí agregar [python] en una nueva línea para activar el entorno de python.

El módulo de Python muestra la información sobre la instalación de Python en su sistema operativo o si algún entorno virtual está activado. Si desea cambiar el ícono de python y desea mostrar el nombre de virtualenv, entonces el archivo de configuración se ve así.

[python]
symbol = "🐍 "
pyenv_version_name = true

Si ha instalado python2 y python3, puede especificar el binario de python predeterminado utilizando el archivo de configuración de Starship.

[python]
# Only use the `python3` binary to get the version.
python_binary = "python3"

Como este ejemplo, puede agregar cualquier módulo que desee y personalizarlo según su imaginación.

Cómo agregar ajustes preestablecidos de Starship

Si no quiere hacer todas esas personalizaciones usted mismo, pero quiere un indicador de terminal atractivo listo para usar, puede usar ajustes preestablecidos. Los ajustes preestablecidos son simplemente archivos de configuración de naves estelares compartidos por otros usuarios. Puede importar esos ajustes preestablecidos a su archivo de configuración y tendrá un indicador de terminal atractivo en solo un momento.

Starship Prompt Powerline 700px

Puede explorar los ajustes preestablecidos oficiales en esta página. El indicador de terminal anterior lo carga un usuario y está disponible en la página de ajustes preestablecidos. Ahora, para hacer que el indicador de su terminal se vea así, abra el archivo de configuración de su nave estelar y agregue esta configuración a su archivo.

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)'

Reinicie su terminal y el indicador de su terminal se verá exactamente como el indicador en la imagen. Puede buscar más ajustes preestablecidos de mensajes de terminal y probar cuál se adapta mejor a sus necesidades. Mientras tanto, si desea probar algunos consejos y trucos de bash, este artículo debería ser el más adecuado para usted.

¿Cómo desinstalar Starship?

Para desinstalar Starship, primero, elimine el archivo de configuración de Starship.

rm ~/.config/starship.toml

Luego elimine la línea que ha pegado durante la instalación dentro del archivo “~/.bashrc”.

Por último, desinstale el binario Starship de su dispositivo.

sh -c 'rm "$(command -v 'starship')"'

Ahora reinicie su terminal y su indicador se restaurará al estilo predeterminado.

Preguntas frecuentes

¿Cómo aplico mi estilo de indicador de terminal actual a otro dispositivo?

Es muy fácil. Simplemente copie el archivo de configuración de su nave estelar ubicado en su ~/.config/starship.toml al otro dispositivo. Instala Starship, reinicia la terminal y listo.

¿Cuáles son las alternativas a la nave estelar?

Hay muchas alternativas a la nave estelar que puedes encontrar en línea. Para zsh shell, oh-my-zsh es una utilidad muy popular. De manera similar, para las conchas de pescado, oh-my-fish también es una herramienta muy conocida que la gente usa para personalizar su aviso de concha. otro es astronave. este es un aviso zsh personalizable. Algunas otras opciones populares son puro y shell de sintetizador.

¿Le ha parecido útil este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.