Este tutorial transforma seu Terminal.app nativo em um ambiente de alta performance, replicando a usabilidade inteligente do Fish Shell dentro do Zsh padrão do macOS, utilizando ferramentas modernas escritas em Rust.
🚀 Por que essa stack?
A chegada dos chips M4 exige ferramentas que aproveitem a arquitetura Apple Silicon. Substituiremos utilitários legados de 30 anos por alternativas em Rust, garantindo um terminal que abre em milissegundos e oferece preenchimento automático inteligente.
Passo 1: Fundação (Homebrew e Fontes)
Primeiro, instalamos o gerenciador de pacotes e a fonte necessária para renderizar ícones e glifos (Nerd Fonts).
- Instale o Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Ative o Homebrew no path atual:
eval "$(/opt/homebrew/bin/brew shellenv)"
- Instale a JetBrains Mono Nerd Font: Recomendada por ser monoespaçada, legível e ter suporte a ligaduras de código.
brew install --cask font-jetbrains-mono-nerd-font
💡 Ação Necessária: Após instalar, abra as configurações do Terminal (
Cmd + ,) -> Profiles -> Selecione o perfil -> aba Text. Em Font, clique em "Change" e selecione JetBrainsMono Nerd Font.
Passo 2: Interface Visual (Tema Dracula)
O Terminal nativo precisa de um arquivo de configuração para cores precisas.
- Baixe o tema:
git clone https://github.com/dracula/terminal-app.git ~/dracula-terminal
- Importe no Terminal:
- Abra Settings (
Cmd + ,) > Profiles. - Clique no ícone ... (inferior esquerdo) > Import.
- Selecione o arquivo
Dracula.terminalem~/dracula-terminal. - Clique no botão Default para torná-lo seu perfil padrão.
Passo 3: Ferramentas Modernas (Rust Stack)
Instalaremos o núcleo de performance. Estas ferramentas substituem comandos antigos como ls, cd e cat.
brew install antidote starship zoxide fzf bat eza fd ripgrep uv
| Ferramenta | O que faz? |
|---|---|
| antidote | Gerenciador de plugins Zsh ultra-rápido. |
| uv | Gerenciador Python (substituto do pip/poetry) em Rust. |
| zoxide | Navegação inteligente (o novo cd). |
| eza | Listagem de arquivos com ícones (o novo ls). |
| bat | Leitor de arquivos com syntax highlighting (o novo cat). |
| fzf | Buscador fuzzy para histórico e arquivos. |
Passo 4: Configuração dos Plugins (Antidote)
O Antidote lê um arquivo .txt simples e gera um script Zsh otimizado.
- Crie o arquivo de lista de plugins:
nano ~/.zsh_plugins.txt
- Cole o conteúdo abaixo:
# --- Core do OhMyZsh (Essencial) ---
ohmyzsh/ohmyzsh path:lib
ohmyzsh/ohmyzsh path:plugins/git
ohmyzsh/ohmyzsh path:plugins/sudo
ohmyzsh/ohmyzsh path:plugins/command-not-found
ohmyzsh/ohmyzsh path:plugins/extract
# --- Utilitários Fish-like ---
zsh-users/zsh-completions
zsh-users/zsh-autosuggestions
# --- Menu de Tabulação Moderno ---
Aloxaf/fzf-tab
# --- Syntax Highlighting (DEVE SER O ÚLTIMO) ---
zsh-users/zsh-syntax-highlighting
Passo 5: O Arquivo Mestre (.zshrc)
Este é o coração da sua configuração. Ele integra todas as ferramentas instaladas.
-
Edite o arquivo:
nano ~/.zshrc - Substitua todo o conteúdo pelo bloco abaixo:
# --- 1. Inicialização do Homebrew ---
eval "$(/opt/homebrew/bin/brew shellenv)"
# --- 2. Sistema de Completar ---
autoload -Uz compinit
compinit
# --- 3. Carregamento de Plugins (Antidote) ---
zstyle ':antidote:bundle' use-friendly-names on
ANTIDOTE_HOME=$(brew --prefix)/opt/antidote
source ${ANTIDOTE_HOME}/share/antidote/antidote.zsh
antidote load ${HOME}/.zsh_plugins.txt
# --- 4. Comportamento Fish-like ---
export ZSH_AUTOSUGGEST_USE_ASYNC=1
export ZSH_AUTOSUGGEST_STRATEGY=(history completion)
bindkey '^ ' autosuggest-accept # Ctrl+Space aceita sugestão
bindkey '^[[C' autosuggest-accept # Seta Direita aceita sugestão
# Menu de Tabulação com FZF
zstyle ':completion:*' menu no
zstyle ':fzf-tab:*' fzf-command fzf
zstyle ':fzf-tab:*' fzf-flags '--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9 --color=fg+:#f8f8f2,bg+:#44475a,hl+:#bd93f9'
# --- 5. Aliases Modernos ---
alias ls="eza --icons --group-directories-first"
alias ll="eza --icons --group-directories-first -l --git"
alias la="eza --icons --group-directories-first -la --git"
alias tree="eza --tree --icons"
alias cat="bat"
alias atualizar_meumac="brew update && brew upgrade && brew cleanup && antidote update && echo '✅ Sistema atualizado!'"
# --- 6. Ferramentas Rust ---
eval "$(zoxide init zsh)"
alias cd="z"
eval "$(fzf --zsh)"
export FZF_DEFAULT_COMMAND='fd --type f --strip-cwd-prefix --hidden --follow --exclude .git'
if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then
export PATH="$HOME/.local/bin:$PATH"
fi
eval "$(uv generate-shell-completion zsh)"
# --- 7. Prompt (Starship) ---
eval "$(starship init zsh)"
Passo 6: Configuração do Prompt (Starship)
O Starship é o prompt mais rápido do mercado. Vamos deixá-lo minimalista.
-
Crie a config:
mkdir -p ~/.config && nano ~/.config/starship.toml - Adicione o conteúdo:
add_newline = true
command_timeout = 1000
[character]
success_symbol = "[➜](bold green)"
error_symbol = "[✗](bold red)"
[directory]
style = "bold cyan"
truncation_length = 3
[git_branch]
symbol = " "
style = "bold purple"
[python]
symbol = "🐍 "
style = "yellow"
detect_files = ["pyproject.toml", "requirements.txt", ".python-version", "uv.lock"]
[package]
disabled = true
Passo 7: Tutorial Prático de Uso
1. Eza (O novo ls)
O eza traz cores semânticas. Arquivos novos no Git aparecem com status, e diretórios vêm sempre primeiro.
- Tente:
lloutree
2. Zoxide (O novo cd)
Ele aprende suas pastas favoritas. Se você costuma ir para ~/Documents/Projetos/ReactApp, basta digitar:
-
z ReactApp(de qualquer lugar!) - Use
zipara abrir o modo interativo com busca.
3. UV (Python em esteroides)
Esqueça a lentidão do pip.
-
Criar Venv:
uv venv(é instantâneo). -
Rodar sem instalar:
uv run --with requests script.py.
4. Manutenção
Criamos um alias mestre. Sempre que quiser atualizar tudo (Brew, pacotes e plugins do terminal), basta digitar:
atualizar_meumac
Gostou dessa stack? Deixe um comentário se você tiver alguma dúvida sobre a configuração no novo chip M4! ⚡
Top comments (0)