
Instalando o Zsh
No dia a dia do desenvolvedor é comum ser preciso utilizar um mesmo comando (ou suas variações – geralmente bem semelhantes) repetidamente. Ter um terminal que auto complete e faça sugestões do complemento do comando que estamos digitando é algo mais que essencial, uma vez que alguns comandos são realmente grandes e erros de digitação são bem comuns. Felizmente existem ferramentas que nos proporcionam essas e outras funcionalidades, como contexto de cores e integração com o Git, por exemplo. Essa última é bem útil para quem trabalha com vários repositórios e branches. Mas vamos ao que interessante:
O primeiro passo deste tutorial é instalar o Zsh shell, uma versão extendida do bash com suporte a plugins e temas. Existem inúmeras formas de se fazer isso, mas se você estiver em um Ubuntu ou alguma distribuição derivada do Debian, basta executar o seguinte comando:
$ sudo apt install zsh
Se não for o seu caso, basta entrar nesse link e procurar como instalar na sua distribuição.
Depois de instalado, você deveria conseguir executar o seguinte comando:
$ zsh --version
Caso o retorno desse comando seja a versão instalada, então a instalação foi realizada com sucesso. Vamos para o próximo passo:
Instalando o Oh My Zsh
O Oh My Zsh é um framework que permite a instalação de temas, plugins e gerenciar as configurações do seu terminal. Para instalá-lo, você precisará executar o seguinte comando:
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Agora ao reiniciar o seu terminal, perceberá que ele já estará com uma aparência diferente. Vamos seguir.
Importante! A partir desse momento, você passará a usar o arquivo ~/.zshrc ao invés do ~/.bashrc para configurar variáveis de ambiente ou modificações no seu terminal.
Instalando o tema Spaceship
Nesta etapa será necessário ter o Git instalado, caso não tenha execute o seguinte comando:
$ sudo apt install git
Com o Git instalado, execute o seguinte comando:
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
Esse comando irá clonar o repositório do Spaceship na pasta de temas. Agora será preciso criar um link simbólico apontando para o arquivo de temas:
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
Agora abra o arquivo ~/.zshrc e altere a linha que a variável ZSH_THEME está sendo declarada para “spaceship”:
ZSH_THEME="spaceship"
Reinicie o terminal.
E para finalizar essa etapa, abra o arquivo ~/.zshrc novamente e adicione as seguintes linhas no fim do arquivo:
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
jobs # Background jobs indicator
exit_code # Exit code section
char # Prompt character
)
SPACESHIP_USER_SHOW=always
SPACESHIP_PROMPT_ADD_NEWLINE=false
SPACESHIP_CHAR_SYMBOL="❯"
SPACESHIP_CHAR_SUFFIX=" "
Instalando o Zinit
O Zinit é um gerenciador de plugins que irá nos permitir instalar alguns plugins que irão nos dar muita produtividade no dia a dia, como auto complete, por exemplo.
Para instalá-lo, basta executar o seguinte comando:
$ bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"
E para finalizar, basta abrir o arquivo ~/.zshrc novamente e adicionar essas linhas no final do arquivo:
zinit light zdharma/fast-syntax-highlighting
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-completions
Ao reiniciar o terminal, perceberá que o Zinit irá baixar os plugins automaticamente.
Prontinho! Agora você terá um terminal que conseguirá te ajudar bastante no dia a dia, terá um ótimo aspecto visual e ainda tem uma boa integração com o Git, mostrando em que branch e o status do repositório atual.
Dica extra
Uma dica para produtividade sempre gosto de passar para frente é instalação do Terminator. Um terminal que, entre outras coisas, te permitirá dividir a tela em novas instâncias, o que facilita e muito para quem gosta de visualizar muitos terminais ao mesmo tempo.
Em outro artigo descreverei como configurei meu ambiente de desenvolvimento completo.