Terminal com zsh

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.