Haciendo que la terminal de Linux sea hermosa y conveniente

Todas las distribuciones de Linux vienen con un emulador de terminal funcional y personalizable. En Internet, y a veces incluso en el propio terminal, hay muchos temas listos para usar para que se vea hermoso. Sin embargo, dediqué mucho tiempo a hacer algo hermoso y al mismo tiempo conveniente y fácil de usar desde un terminal estándar (en cualquier DE, cualquier kit de distribución). Entonces, ¿cómo hace que el terminal predeterminado sea conveniente y agradable de usar?



Añadiendo funcionalidad



Shell de comando



La mayoría de las distribuciones vienen con Bash integrado. Usando complementos puedes hacer lo que quieras con ellos, pero es mucho más fácil hacerlo con Zsh . ¿Por qué?



  • Mecánica avanzada de comandos de autocompletar presionando <Tab> o <Flecha arriba>. A diferencia de Bash, no es necesario configurar esto, todo funciona al más alto nivel desde el primer momento.
  • Muchos temas, módulos, complementos y más listos para usar. Personalización mediante frameworks (oh-my-zsh, prezto, etc.), que amplían enormemente las posibilidades de personalización y mejora del terminal. Nuevamente, puedes hacer todo esto en Bash, pero hay un montón de cosas para Zsh. Para Bash, hay muchos menos de ellos, y algunos no lo son en absoluto.


Estas son las principales razones por las que cambié de Bash a Zsh. Aparte de esto, Zsh tiene muchas otras ventajas.



Configuración de Zsh



Primero, instale Zsh (si ya está instalado, por ejemplo, como en Manjaro, puede omitir este paso):



sudo apt install zsh


Cuando se le solicite que configure Zsh como el shell predeterminado, haga clic Ypara confirmar.



Oh-My-Zsh es un marco Zsh popular y en desarrollo activo que permite una personalización flexible del shell del terminal. Vamos a instalarlo:



sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"


zsh: comando no encontrado: curl
curl:

sudo apt install curl




Resaltado de sintaxis. Es mucho más fácil navegar por el contenido del terminal cuando diferentes partes de los comandos están resaltadas en diferentes colores. Por ejemplo, los directorios estarán subrayados y los comandos se resaltarán en un color que no sea el texto normal. Instale el complemento zsh-syntax-highlighting:



git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting


zsh: comando no encontrado: git
git:



sudo apt install git




Para que el complemento funcione, debe conectarlo.



En el archivo, ~/.zshrccambie la línea de plugins=:



plugins=(git zsh-syntax-highlighting)


Si no existe tal línea, agréguela.



¡Hecho! Conseguimos un terminal cómodo y funcional. Ahora hagámoslo visualmente agradable.



Personalizando el look



Instale el tema PowerLevel10K :



git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k


Descargue y agregue una fuente JetBrains Mono Nerd(con iconos) al sistema:

Seleccione una de la lista , en la carpeta /completeseleccione una fuente sin "Compatible con Windows", con la terminación "Mono".



Conectamos la fuente y el tema.



Editando ~/.zshrc.



Si el archivo ya contiene estas líneas, reemplácelas.



  • ZSH_THEME="powerlevel10k/powerlevel10k"
  • POWERLEVEL9K_MODE="nerdfont-complete"


Colores. Una parte importante del diseño de la terminal es la combinación de colores. Pasé por muchos esquemas diferentes, los edité y me decidí por Monokai Dark. No daña los ojos, pero al mismo tiempo es agradable y brillante. Lista de colores:



[colors]

# special
foreground      = #e6e6e6
foreground_bold = #e6e6e6
cursor          = #fff
background      = #000

# black
color0  = #75715e
color8  = #272822

# red
color1  = #f92672
color9  = #f92672

# green
color2  = #a6e22e
color10 = #a6e22e

# yellow
color3  = #434648
color11 = #7ea35f

# blue
color4  = #66d9ef
color12 = #66d9ef

# magenta
color5  = #ae81ff
color13 = #ae81ff

# cyan
color6  = #adb3b9
color14 = #62ab9d

# white
color7  = #2AA198
color15 = #2AA198


El esquema de color cambia de manera diferente en diferentes terminales (generalmente, esto se hace a través de la configuración del terminal), pero el orden de los colores es el mismo en todas partes. Puede importar esta plantilla en formato de termitas y exportarlo a su terminal a través terminal.sexy



temas configuración de ejecución: p10k configure.

Personaliza tu tema eligiendo las opciones de visualización que más te gusten.



El toque final es cambiar la configuración del tema y reemplazar los colores incorporados.



Editando el archivo ~/.p10k.zsh.



Si estas líneas ya existen en el archivo, reemplácelas. Los códigos de color se pueden obtener mediante comando



for i in {0..255}; do print -Pn \"%K{$i}  %k%F{$i}${(l:3::0:)i}%f \" ${${(M)$((i%6)):#3}:+$'\n'}; done


  • Mostrando solo el directorio actual:



    typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
  • Fondo del bloque de directorio:



    typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
  • Colores de flecha:



    typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2


    y



    typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=1


  • Antecedentes de la rama de Git:



    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15






Resultado



Apariencia terminal

Error:

Aparición de error

GIT:

Apariencia del catálogo GIT

Fuentes



PowerLevel10K Documentación

Online Terminal Color Scheme Designer

Diferencias entre Bash y Zsh



All Articles