Tornando o terminal Linux bonito e conveniente

Todas as distribuições do Linux vêm com um emulador de terminal funcional e personalizável. Na Internet, e às vezes até no próprio terminal, existem muitos temas prontos para deixá-lo bonito. No entanto, gastei muito tempo para fazer algo bonito e ao mesmo tempo conveniente e fácil de usar a partir de um terminal padrão (em qualquer DE, qualquer distribuição). Então, como tornar o terminal padrão conveniente e agradável de usar?



Adicionando funcionalidade



Shell de comando



A maioria das distribuições vem com o Bash integrado. Usando addons, você pode fazer o que quiser com ele, mas é muito mais fácil fazer isso com o Zsh . Por quê?



  • Mecânica avançada de comandos de preenchimento automático pressionando <Tab> ou <Arrow Up>. Ao contrário do Bash, você não precisa configurar isso, tudo funciona no nível mais alto logo que sai da caixa.
  • Muitos temas prontos, módulos, plug-ins e muito mais. Customizabilidade através de frameworks (oh-my-zsh, prezto, etc.), que ampliam sobremaneira as possibilidades de customização e melhoria do terminal. Novamente, você pode fazer tudo isso no Bash, mas há uma tonelada de coisas para Zsh. Para o Bash, há significativamente menos deles, e alguns não são.


Esses são os principais motivos pelos quais mudei do Bash para o Zsh. Além disso, Zsh tem muitos outros presentinhos.



Configurando Zsh



Primeiro, instale o Zsh (se já estiver instalado, por exemplo, como no Manjaro, você pode pular esta etapa):



sudo apt install zsh


Quando solicitado a definir Zsh como o shell padrão, clique Ypara confirmar.



Oh-My-Zsh é uma estrutura Zsh popular e em desenvolvimento ativo que permite a personalização flexível do shell do terminal. Vamos instalar:



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


zsh: comando não encontrado: curl
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, os diretórios serão sublinhados e os comandos serão realçados em uma cor diferente do texto normal. Instale 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
git:



sudo apt install git




Para que o plugin funcione, você precisa conectá-lo.



No arquivo, ~/.zshrcaltere a linha de plugins=:



plugins=(git zsh-syntax-highlighting)


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



Feito! Conseguimos um terminal conveniente e funcional. Agora vamos torná-lo visualmente agradável.



Personalizando o visual



Instale o tema PowerLevel10K :



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


Baixe e adicione uma fonte JetBrains Mono Nerd(com ícones) ao sistema:

Selecione uma da lista , na pasta /completeselecione uma fonte sem "Compatível com Windows", com a terminação "Mono".



Conectamos a fonte e o tema.



Editando ~/.zshrc.



Se o arquivo já contém essas linhas, substitua-as.



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


Colors. Uma parte importante do design do terminal é o esquema de cores. Eu passei por muitos esquemas diferentes, editei-os, decidi pelo Monokai Dark. Não fere os olhos, mas ao mesmo tempo é agradável e brilhante. Lista de cores:



[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


O esquema de cores muda de maneira diferente em terminais diferentes (geralmente, isso é feito através das configurações do terminal), mas a ordem das cores é a mesma em todos os lugares. Você pode importar esse modelo para o formato de cupins e exportá-lo para o seu terminal através terminal.sexy



tópicos de configuração de execução: p10k configure.

Personalize seu tema escolhendo as opções de exibição que você mais gosta.



O toque final é alterar a configuração do tema e substituir as cores integradas.



Editando o arquivo ~/.p10k.zsh.



Se o arquivo já contém essas linhas, substitua-as. Os códigos de cores podem ser obtidos pelo 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


  • Exibindo apenas o diretório atual:



    typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
  • Plano de fundo do bloco de 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 do branch Git:



    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15






Resultado



Aparência terminal

Erro:

Aparência de erro

GIT:

Aparência do catálogo GIT

Fontes



PowerLevel10K Documentation

Online Terminal Color Scheme Designer

Diferenças entre Bash e Zsh



All Articles