Tornando o terminal Linux bonito e conveniente

Todas as distribuições Linux vêm com um emulador de terminal funcional e personalizável. Na internet, e às vezes até no próprio terminal, há muitas opções de temas para torná-lo visualmente agradável. No entanto, para transformar o terminal padrão (em qualquer ambiente de desktop, em qualquer distribuição) em algo bonito e ao mesmo tempo funcional e fácil de usar, eu gastei muito tempo. Então, como tornar o terminal padrão agradável e prático de usar?

Adicionando funcionalidades

Shell de Comando

A maioria das distribuições vem com o Bash integrado. Usando extensões, você pode transformá-lo em qualquer coisa que desejar, mas é muito mais fácil fazer isso com Zsh. Por quê?

  • Mecânica avançada de autocompletação de comandos ao pressionar <Tab> ou <Seta para Cima>. Diferente do Bash, você não precisa configurá-lo, tudo funciona perfeitamente "pronto para uso".
  • Uma infinidade de temas prontos, módulos, plugins e outras personalizações. Configurabilidade através de frameworks (oh-my-zsh, prezto, etc.) que ampliam significativamente as opções de personalização e melhoria do terminal. Novamente, tudo isso pode ser feito no Bash, mas para o Zsh já existem muitos materiais prontos. Para o Bash, há bem menos, e alguns nem existem.

Essas são as principais razões pelas quais eu migrei do Bash para o Zsh. Além disso, o Zsh possui muitos outros "benefícios".

Configurando o Zsh

Primeiro, vamos instalar o Zsh (se já estiver instalado, como no Manjaro, você pode ignorar esta etapa):

sudo apt install zsh

Quando solicitado a definir o Zsh como o shell padrão, pressione Y, para confirmar.

Oh-My-Zsh — um framework popular e em crescimento para Zsh, que permite configurar o shell do terminal de forma flexível. Vamos instalá-lo:

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

zsh: comando não encontrado: curl
Instale curl:

sudo apt install curl

Realce de sintaxe. É muito mais fácil navegar pelo conteúdo do terminal quando diferentes partes dos comandos são destacadas em cores diferentes. Por exemplo, diretórios serão sublinhados, e comandos serão destacados em uma cor diferente do texto normal. Vamos instalar o plugin zsh-syntax-highlighting:

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

zsh: comando não encontrado: git
Instale o git:

sudo apt install git

Para que o plugin funcione, é necessário ativá-lo.

No arquivo ~/.zshrc mude a linha com plugins=:

plugins=(git zsh-syntax-highlighting)

Se essa linha não existir, adicione-a.

Pronto! Estamos obtendo um terminal prático e funcional. Agora vamos torná-lo visualmente agradável.

Configurar a aparência

Instalar o tema PowerLevel10K:

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

Baixando e adicionando a fonte ao sistema JetBrains Mono Nerd (com ícones):
Escolha um dos lista, na pasta fonte/complete selecione a fonte sem «Windows Compatible», com a extensão «Mono».

Conecte a fonte e o tema.

Editamos ~/.zshrc.

Se essas linhas já existirem no arquivo - substitua-as.

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

Cores. Uma parte importante da personalização do terminal é o esquema de cores. Testei muitos esquemas diferentes, editei-os e decidi pelo Monokai Dark. Não cansa os olhos, mas é agradável e vibrante. Lista de cores:

[colors]

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

# preto
color0  = #75715e
color8  = #272822

# vermelho
color1  = #f92672
color9  = #f92672

# verde
color2  = #a6e22e
color10 = #a6e22e

# amarelo
color3  = #434648
color11 = #7ea35f

# azul
color4  = #66d9ef
color12 = #66d9ef

# magenta
color5  = #ae81ff
color13 = #ae81ff

# ciano
color6  = #adb3b9
color14 = #62ab9d

# branco
color7  = #2AA198
color15 = #2AA198

Em diferentes terminais, o esquema de cores muda de maneiras diferentes (geralmente, isso é feito através das configurações do terminal), mas a ordem das cores é sempre a mesma. Você pode importar este modelo no formato Termite e exportá-lo para o seu terminal através do terminal.sexy

Iniciando a configuração do tema: p10k configure.
Personalize o tema, escolhendo as opções de exibição que você prefere.

Toque final - altere a configuração do tema e substitua as cores padrões.

Editando o arquivo ~/ .p10k.zsh.

Se essas linhas já existirem no arquivo - substitua-as. Os códigos de cores podem ser obtidos com o 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

  • Exibir apenas o diretório atual:
    typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
  • Fundo do bloco com o diretório:
    typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
  • Cores das setas:
    typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2

    e

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

  • Fundo da branch Git:
    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15

Resultado

Tornando o terminal Linux bonito e conveniente
Erro:
Tornando o terminal Linux bonito e conveniente
GIT:
Tornando o terminal Linux bonito e conveniente

Fontes

Documentação do PowerLevel10K
Designer online de esquemas de cores para terminais
Diferenças entre Bash e Zsh

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster