Se você, assim como eu usa Linux, já está acostumado com o bom e velho bash. No entanto, as vezes nós queremos sair do padrão para usar algo mais “elegante”. Se esse é o seu caso, vem comigo! Ao final deste artigo teremos um terminal customizado.
Sendo assim, hoje vamos aprender a instalar e configurar o z-shell ou como é mais conhecido ZSH.
Antes de mais nada, precisamos instalar o ZSH. Como estamos abordando diferentes sistemas operacionais, eu vou fazer a instalação no Linux e deixar os links com as instruções de instalação do Windows 10 WSL e do MacOS!
Pressupondo que vocês estão aptos a fazer essa instalação nas suas máquinas, vou prosseguir com o processo de instalação no Linux. Dito isso, vamos dar continuidade no processo de instalação!
Instalando o ZSH
Para instalar o ZSH no Linux é bastante simples. Basta abrir o terminal e digitar o comando abaixo:
sudo apt install zsh
Feito isso, é só aguardar e pronto o ZSH já vai estar instalado. Para ter certeza que tudo ocorreu bem, você pode digitar:
zsh --version
Você deve receber como resposta algo parecido com isso:
Instalando o Oh My Zsh
Assim como a instalação do ZSH foi bem simples, a do Oh My Zsh segue no mesmo caminho, bastando digitar o comando a seguir:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Será perguntado se você quer definir o zsh como terminal padrão. Você vai digitar Y e pressionar enter, vai digitar a senha e esperar o processo ser concluído.
Para garantir que após reiniciar a máquina, o zsh ainda seja o padrão; vamos digitar no terminal o seguinte trecho:
chsh -s $(which zsh)
Digite sua senha e pronto. A partir de agora você terá um terminal parecido com isso:
Dessa forma temos o Oh My Zsh instalado e pronto para ser personalizado.
Instalando o Zinit
O Zinit vai ser muito útil para gente, pois com ele nós teremos o autosuggestions no nosso ZSH. Para você que não saber do que eu estou falando, eu vou explicar! O autosuggestions é uma funcionalidade que te sugere comandos com base nos comandos que você digita, por exemplo: se eu digitar “code .” no terminal uma vez, na próxima vez que eu for começar a digitar este comando, o Zinit já vai sugeri-lo para você completar com o tab.
Todavia vamos instalar o Zinit digitando o comando abaixo no terminal:
bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"
Você será perguntado se deseja instalar alguns plugins. Você vai digitar ‘n’ para negar, uma vez que já sabemos quais plugins instalar.
Instalando Plugins
Na sua home foi criado um arquivo chamado .zshrc. Nós vamos precisar editá-lo. Abra o seu gerenciador de arquivo e pressione Ctrl + H para mostrar os arquivos ocultos, depois abra o arquivo com o editor de texto de sua preferência. Eu vou usar o VScode.
Posteriormente, é só colar o texto abaixo no final do arquivo e salvar:
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-completions
Além disso, precisamos instalar o nosso tema propriamente dito, que será feito logo em seguida.
Instalando o Spaceship
Antes de tudo, para podermos instalar nosso tema, precisamos do git instalado. Se você não sabe o que é git não tem problema, só vamos usá-lo para instalar o spaceship ok?
Vamos verificar se você tem o git instalado:
git --version
Em seguida aparecerá a versão do git se ele estiver instalado, ou se retornar algo diferente é porque ele não esta instalado, vamos resolver isso:
No Linux basta digitar:
sudo apt-get install git
Contudo, pressupondo mais uma vez que vocês estão aptos a instalar programas nos seus devidos S.O vou deixar o link de download para Windows e para macOS.
Feito o download e instalação do git, vamos prosseguir.
Clonando o Spaceship
git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
Criando um link simbólico
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
Agora, falta muito pouco para ter seu terminal customizado. Está faltando somente algumas configurações.
Configurações
Da mesma forma como fizemos anteriormente com o zinit, vamos abrir o arquivo .zshrc e adicionar as configurações restantes.
Ao abrir o arquivo, procure por ZSH_THEME e defina como spaceship, da forma como na imagem:
Em seguida, desça até o final do arquivo e adicione a seguinte configuração:
LS_COLORS=$LS_COLORS:'ow=01;34:' ; export LS_COLORS
SPACESHIP_PROMPT_ORDER=(
user # Username section
dir # Current directory section
host # Hostname section
git # Git section (git_branch + git_status)
hg # Mercurial section (hg_branch + hg_status)
exec_time # Execution time
line_sep # Line break
vi_mode # Vi-mode indicator
jobs # Background jobs indicator
exit_code # Exit code section
char # Prompt character
)
SPACESHIP_USER_SHOW="always" # Shows System user name before directory name
SPACESHIP_PROMPT_ADD_NEWLINE=false
# SPACESHIP_PROMPT_SEPARATE_LINE=false # Make the prompt span across two lines
# SPACESHIP_DIR_TRUNC=1 # Shows only the last directory folder name
SPACESHIP_CHAR_SYMBOL="❯"
SPACESHIP_CHAR_SUFFIX=" "
Salve o arquivo e saia. Para termos certeza que ele vai exibir os símbolos de forma correta vamos instalar a fonte fira-code. Faça o download e instale. Mais uma vez, cada sistema tem um jeito diferente de instalar, então você vai ter que ver o processo de instalação de fontes no seu S.O.
Mas fica calmo que é bem tranquilo, geralmente dois clicks nos arquivos .ttf já resolvem.
Vendo o resultado
Finalmente, vamos ver como nosso terminal customizado ficou. E para isso digite o comando:
source ~/.zshrc
Seu terminal já deve ficar com esta aparência. Caso ele não fique assim, recomendo que faça log out e volte para o sistema em seguida.
Você ainda pode mudar as cores do terminal indo até as preferências e colocando as cores que desejar:
Conclusão
Então, finalmente temos o nosso terminal customizado e pronto para uso. Só um detalhe que a partir de agora suas variáveis de ambiente tem que serem salvas no arquivo .zshrc e não mais no .bashrc.
No mais é isso galera, espero que tenham curtido o novo visual do seu terminal e até a próxima! : )