Transforma o terminal cinzento e monótono num ambiente produtivo, funcional e visualmente apelativo: com realce de sintaxe, ls a cores, cat com syntax highlighting e um prompt digno de screenshot.

Se és developer, passas mais tempo no terminal do que gostarias de admitir. Eu também.

Durante anos usei o terminal do macOS tal como vem de fábrica: letras brancas num fundo preto, ls a mostrar tudo cinzento, e um prompt que dizia apenas o nome da máquina. Funcionava, mas era... monótono.

Um dia tropecei num setup de terminal que me fez pensar: "porque é que não fiz isto antes?" Com cores, informação contextual e um prompt inteligente, o terminal passa de ferramenta funcional a prazer de usar. A produtividade aumenta porque lês a informação mais depressa: percebes instantaneamente se um comando correu bem, que diretório visitaste, ou que tipo de ficheiro tens à tua frente.

Antes vs Depois - terminal macOS

⬆ A diferença que um bom setup faz: do terminal cinzento a um ambiente produtivo e informativo

Vou mostrar-te como transformar o terminal do macOS (ou Linux) com quatro ferramentas essenciais:

  • zsh-syntax-highlighting: realça comandos válidos a verde, inválidos a vermelho, enquanto escreves
  • lsd: um ls com ícones, cores e muito mais informação
  • bat: um cat com syntax highlighting e numeração de linhas
  • Powerlevel10k: o melhor prompt para ZSH, rápido, bonito e cheio de informação útil

Pré-requisitos

  • macOS ou Linux: este guia é focado em macOS, mas a maioria funciona em Linux com pequenos ajustes
  • Homebrew instalado: vamos usar o brew para instalar quase tudo
  • Terminal aberto: abre o Terminal.app (ou iTerm2, se preferires)
  • Direitos de administrador: vais precisar de sudo para algumas coisas

Se tens um Mac com Apple Silicon (M1/M2/M3/M4), alguns paths são diferentes (/opt/homebrew/ em vez de /usr/local/). Vou assinalar essas diferenças ao longo do guia.

1. instalar o Homebrew (se ainda não tens)

O Homebrew é o gestor de pacotes para macOS. Penso nele como o apt do macOS: permite instalar, atualizar e remover software pela linha de comandos.

Se já tens Homebrew, salta este passo. Se não, abre o terminal e cola:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Copy

Depois de instalar, se tens Apple Silicon (M1+), adiciona isto ao .zshrc:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"
Copy

Para verificar que está tudo bem:

brew doctor
Copy

Se diz "Your system is ready to brew", estamos prontos.

2. realce de sintaxe (zsh-syntax-highlighting)

Já te aconteceu escrever um comando, carregar no Enter e levar com um command not found? O zsh-syntax-highlighting resolve isso. Enquanto escreves, o terminal realça o comando:

  • Verde: comando válido e instalado
  • Vermelho: comando inválido ou não encontrado
  • Roxo: flags e argumentos conhecidos

zsh-syntax-highlighting - erros detetados antes de executar

⬆ Comando válido a verde (esquerda) vs comando errado a vermelho (direita)

brew install zsh-syntax-highlighting
Copy

Adiciona ao final do ~/.zshrc:

source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
Copy

Atenção: Esta linha tem de estar no final do .zshrc, depois de carregar o tema e plugins. Caso contrário, podes ter erros ou o highlighting pode não funcionar.

Para testar: abre um novo terminal (ou faz source ~/.zshrc) e escreve git p: vês "git" a verde e "p" a vermelho. Depois escreve gti: vês tudo a vermelho. Isto é o highlighting a funcionar.

3.ls com esteróides (lsd)

O ls padrão do macOS mostra ficheiros todos cinzentos. O lsd (LSDeluxe) é um ls moderno, escrito em Rust, que mostra ícones, cores, data formatada e tamanhos legíveis.

Instalar fontes Nerd

Para veres os ícones, precisas de uma Nerd Font: fontes normais com ícones extra adicionados.

brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font
Copy

Depois, abre as Preferências do Terminal (Cmd + ,), vai a Profiles > Text > Font e muda para Hack Nerd Font.

Instalar e configurar o lsd
brew install lsd
Copy

Adiciona ao ~/.zshrc:

alias ls='lsd'
alias ll='lsd -l'
alias la='lsd -a'
Copy

lsd - ls com ícones e cores

⬆ lsd em ação: diretórios a azul, ficheiros com ícones, permissões e datas legíveis

Para testar: abre um novo terminal e corre ll na tua home: deves ver os diretórios a azul, ficheiros normais a branco, e escondidos a cinzento, tudo com ícones.

4.cat melhorado (bat)

O cat padrão mostra o conteúdo de ficheiros em texto simples. O bat é um cat com superpoderes:

  • Syntax highlighting automático para dezenas de linguagens
  • Números de linha visíveis na margem
  • Paginação integrada (para ficheiros grandes)
  • Integração com git (mostra alterações na margem)
brew install bat
Copy

Configura o alias no ~/.zshrc:

export BAT_THEME='gruvbox-dark'
alias cat='bat --paging=never'
Copy

bat - cat com syntax highlighting

⬆ bat a mostrar um ficheiro markdown com cores, números de linha e tema Gruvbox

Podes explorar outros temas:

bat --list-themes
Copy

Para pré-visualizar um tema específico:

bat --theme=Dracula ~/.zshrc
Copy

Para testar: corre cat ~/.zshrc e vê o resultado com cores e números de linha. Parece outro mundo, não?

5. Powerlevel10k: o prompt que faz impressão

O Powerlevel10k é o tema para ZSH que transforma o prompt (aquele user@host ~ %) numa barra de informação visual. Mostra:

  • O diretório atual (com atalhos inteligentes)
  • O branch e estado do git (se estiveres num repositório)
  • O tempo de execução do último comando
  • Ícone do sistema operativo
  • Node version, Python venv, Docker: tudo quando relevante

Powerlevel10k - prompt inteligente

⬆ Prompt Powerlevel10k: distro, user, hostname, diretório, git branch e hora: tudo num prompt limpo e rápido

brew install romkatv/powerlevel10k/powerlevel10k
Copy

Adiciona ao ~/.zshrc:

echo "source $(brew --prefix)/opt/powerlevel10k/powerlevel10k.zsh-theme" >> ~/.zshrc
Copy

Quando abrires um novo terminal, o Powerlevel10k lança um assistente de configuração interativo: responde a umas perguntas e o tema configura-se sozinho. É espetacular.

Para reconfigurar mais tarde:

p10k configure
Copy

Configuração final do.zshrc

Aqui está o meu .zshrc completo, com tudo o que vimos e mais alguns aliases úteis que fui acumulando:

# Enable Powerlevel10k instant prompt
if [ [ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ] ]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# Powerlevel10k
source /opt/homebrew/opt/powerlevel10k/share/powerlevel10k/powerlevel10k.zsh-theme
[ [ ! -f ~/.p10k.zsh ] ] || source ~/.p10k.zsh

# zsh-syntax-highlighting (no FINAL do ficheiro)
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

# bat
export BAT_THEME='gruvbox-dark'
alias cat='bat --paging=never'

# lsd
alias ls='lsd'
alias ll='lsd -l'
alias la='lsd -a'

# Aliases pessoais
alias ovh-fuzzalab='ssh [email protected]'
Copy

Altera os paths /opt/homebrew/ para /usr/local/ se tens Intel Mac.

O que aprendeste

  • Homebrew: gestor de pacotes do macOS
  • zsh-syntax-highlighting: vê erros antes de os cometeres
  • lsd: ls a cores com ícones, muito mais legível
  • bat: cat com syntax highlighting, digno de 2026
  • Powerlevel10k: prompt bonito, rápido e informativo

E agora?

Isto é só o começo. Aqui ficam algumas ideias para levares o teu terminal mais longe:

  • zsh-autosuggestions: sugere comandos baseados no histórico (como no fish shell). Instala com brew install zsh-autosuggestions
  • fzf: fuzzy finder para comandos, ficheiros e histórico. Muda a forma como navegas no terminal
  • tmux: multiplexador de terminais. Sessões persistentes e divisão de ecrã
  • neofetch: mostra informação do sistema com ASCII art. Fixe para screenshots

Experimenta, brinca, parte e repara. O terminal é teu: faz dele o que quiseres.

Se tiveres dúvidas ou sugestões, deixa um comentário ou manda mensagem. E se este guia te ajudou, partilha com outro dev que também merece um terminal bonito.

Recursos

Comentários (0)

Nenhum comentário ainda. Seja o primeiro!

Deixar comentário