Terminal com ZSH

Fala galera, tudo bem? Quero compartilhar com vocês uma ferramenta que utilizo muito que é o Oh My ZSH.

O ZSH é um terminal personalizável que me ajuda muito na produtividade. Ele é compatível com Linux e MacOS somente. Contudo, se você utiliza o Windows, é possível utilizar adotando estratégias como o WSL (que é o recomendado se você é um dev no Windows, faz favor né 😅).

Para este tutorial, me aterei apenas ao Linux. Se você utiliza o MacOS, pode seguir a própria documentação que deixei como link neste conteúdo.

Instalação

Para instalar, primeiro rodaremos os seguintes comandos:

apt update && apt install zsh

Para verificar a instalação, utilize o comando:

zsh --version

Agora, com o zsh instalado, podemos instalar o Oh My Zsh com o comando:

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

Agora, só reiniciar o terminal e você já terá ele instalado. Molezinha né?

Personalização

Spaceship

Eu curto utilizar um tema chamado spaceship no meu terminal, para deixar ele com um aspecto minismalista e bem dahora. Para instalar basta rodar o comando:

git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1

Após isso, vamos criar um symlink:

ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"

Quando o ZSH é instalado, ele cria um arquivo de configuração chamado .zshrc. Dentro dele, nós podemos mudar a configuração do tema mudando o ZSH_THEME desta maneira:

ZSH_THEME="spaceship"

Agora, basta reiniciar o terminal e o tema irá mudar automaticamente.

O spaceship possibilita várias e várias modificações que você pode ver na documentação oficial. Contudo, se quiser deixar igual o meu, no final do arquivo .zshrc adicione esta configuração:

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=" "

Feito isto, basta reiniciar e ele vai mudar a configuração automaticamente

Zinit

Uma das coisas mais legais do Oh My ZSH é a possibilidade de instalar vários plugins. Para isso, eu gosto de utilzar o Zinit.

Para instalar, basta rodar o comando no seu terminal zsh:

bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/zdharma-continuum/zinit/HEAD/scripts/install.sh)"

# Depois que a instalação finalizar, rode o update:
zinit self-update

Agora, vamos fazer a instalação de três plugins:

  • zsh-syntax-highlighting (colorir a sintaxe dos comandos)
  • zsh-autosuggestions (dar sugestões de comandos)
  • zsh-completions (salvar os comandos que você geralmente roda)

Para isso, no final do seu arquivo .zshrc, após a linha

### End of Zinit's installer chunk

Vamos incluir as linhas:

zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-completions

Uma vez feito isso, reinicie seu terminal e o Zinit vai instalar automaticamente os novos plugins. Fácil né?

Conclusão

Espero que este tutorial possa ajudá-los de alguma forma na sua produtividade e na "perfumaria" do terminal kkk (eu gosto galera, coisa de front-end). No mais é isso, nos vemos na próxima!


Gostei da config, bem legal! Quem quiser testar so para ver como eh, poder subir em um container e dale.

Tenho um post no meu perfil ensinando a fazer o mesmo no WSL, pra quem for do Windows é só clicar aqui e ler

Poxa, que legal! Eu já li e curti bastante. Inclusive já dei um tabcoin lá kkk. É muito bom agregar conhecimento.