Melhorar o terminal do macOS: zsh-syntax-highlighting, lsd, bat e Powerlevel10k
Guia prático para transformar o terminal do macOS com realce de sintaxe, ls com ícones, cat com syntax highlighting e o prompt Powerlevel10k.
Lembro-me do dia em que vi o terminal de um colega durante uma code review. Ele fez ls e apareceram ícones nos ficheiros. Depois cat e o código abriu com cores. O prompt mostrava o branch do git, o tempo do último comando, até o ícone do SO. O meu, preto e branco, parecia um TRS-80 em 2026. Pedi-lhe logo o setup.
Com quatro ferramentas — zsh-syntax-highlighting, lsd, bat e Powerlevel10k — o terminal do macOS passa de monótono a informativo. E tudo com o Homebrew, sem pagar nada.
Pré-requisitos
Antes de começar, precisas de:
- macOS ou Linux — este guia é focado em macOS, mas a maioria funciona em Linux com pequenos ajustes
- Homebrew instalado — vamos usar o
brewpara 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)"
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)"
Para verificar que está tudo bem:
brew doctor
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
- Sublinhado — caminhos de ficheiros e diretórios que existem
brew install zsh-syntax-highlighting
Adiciona ao final do ~/.zshrc:
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
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 gti — o texto fica a vermelho, porque não é um comando. Corrige para git e passa a verde. Isto é o highlighting a funcionar.
3. ls com esteroides (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 install --cask font-hack-nerd-font
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
Adiciona ao ~/.zshrc:
alias ls='lsd'
alias ll='lsd -l'
alias la='lsd -a'
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
Configura o alias no ~/.zshrc:
export BAT_THEME='gruvbox-dark'
alias cat='bat --paging=never'
Podes explorar outros temas:
bat --list-themes
Para pré-visualizar um tema específico:
bat --theme=Dracula ~/.zshrc
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
brew install powerlevel10k
Adiciona ao ~/.zshrc:
echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >> ~/.zshrc
Quando abrires um novo terminal, o Powerlevel10k lança um assistente de configuração interativo — respondes a umas perguntas e o tema configura-se sozinho. É espetacular.
Nota (outubro de 2026): o Powerlevel10k está em modo de manutenção mínima — o autor avisa no README que não há funcionalidades novas em preparação e que a maioria dos bugs não será corrigida. Continua a funcionar bem, mas se preferires um prompt com desenvolvimento ativo, o Starship é a alternativa mais popular.
Para reconfigurar mais tarde:
p10k configure
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 meu-servidor='ssh [email protected]'
Altera os paths
/opt/homebrew/para/usr/local/se tens Intel Mac.
O terminal é teu
O maior ganho foi prático. O zsh-syntax-highlighting já me salvou de escrever comandos errados dezenas de vezes. O prompt do Powerlevel10k mostra o branch do git sem eu ter de correr git status vinte vezes ao dia. E o bat — antes eu evitava o cat, agora uso-o constantemente.
Há quem diga que configurar o terminal é perder tempo. Para mim é o oposto: poupa-me tempo todos os dias.
Se quiseres ir mais longe, experimenta zsh-autosuggestions, fzf ou tmux. Mas aviso já — depois de teres o terminal com cores, ícones e informação útil em vez do prompt de série, não há volta a dar. Experimenta e depois diz-me se voltaste atrás.
Recursos
Partilhar
Comentários 0
Ainda sem comentários — sê o primeiro.