跳至主要內容
技術

我的 Brewfile 公開:一個全端工程師裝了哪 50 個工具

我的 Brewfile 公開:一個全端工程師裝了哪 50 個工具
一鍵搞定新 Mac 第 4 / 9 篇

本篇是「一鍵搞定新 Mac」系列的第 4 / 9 篇。你可以從系列總覽開始閱讀,也可以直接接著看本文。

每次看到別人的桌面截圖或是終端機配置文,我都會忍不住多看幾眼——不是看外觀,是想知道他裝了什麼。

工程師的工具箱很私密,卻又很值得分享。每個工具的選擇背後,都是一段「踩坑 → 尋找替代品 → 找到真愛」的故事。有些工具你可能天天用但從沒想過有更好的替代品,有些你根本不知道存在。

所以我決定把自己的 Brewfile 整個公開。這不是「最佳工具清單」——是我一個全端工程師,每天實際在用的 50 個工具,附上我為什麼選它、拿它做什麼。

如果你剛好在整理自己的開發環境,或是想看看別人的工具箱裡有什麼寶物,這篇就是寫給你的。

開發環境基礎

這些是不管做什麼專案都需要的地基。

git

不用多說,版本控制的唯一選擇。Homebrew 裝的版本通常比 macOS 內建的新很多,支援更多功能。

node

我的主力語言是 TypeScript,所以 Node.js 是必裝的。不過我實際上不太直接用 Homebrew 裝的版本,而是透過 mise 來管理——等一下會講到。

python

寫腳本、跑資料處理、偶爾訓練個小模型。Python 也是透過 mise 管版本,但 Homebrew 裝一個當系統預設還是方便。

go

用 Go 寫過幾個 CLI 工具和 API server。Go 的編譯速度和部署的簡單程度讓我很喜歡——一個 binary 丟上去就跑了,不用煩惱 runtime。

rust

說實話,Rust 我還在學習階段。但越來越多好用的 CLI 工具都是 Rust 寫的(後面會出現一大堆),裝個 Rust 工具鏈備著也好。

mise

原本用 nvm 管 Node 版本、pyenv 管 Python 版本,各自一套指令、各自一個設定檔,搞到頭很大。mise 一個工具搞定所有語言的版本管理,一個 .mise.toml 走天下。從 asdf 轉過來的,速度快非常多。

zsh + starship

macOS 預設就是 zsh,我之前用 oh-my-zsh 用了好幾年,後來覺得啟動速度越來越慢,加的 plugin 又多到自己都搞不清楚。換成 starship 之後,prompt 設定用一個 starship.toml 就搞定,啟動速度飛快,跨平台還能共用設定。

cmake

偶爾需要從原始碼編譯一些 C/C++ 的東西。不常用,但需要的時候沒有會很痛苦。

終端機工具

這一區是我最愛的部分。這些工具讓終端機從「堪用」變成「好用到不想離開」。

Warp

原本是 iTerm2 的忠實用戶,用了大概五年。轉到 Warp 是因為它的 AI 整合和 block-based 的輸出概念——每個指令的輸出是獨立的區塊,可以單獨複製、摺疊、搜尋。加上內建的 AI 可以直接問「怎麼用 ffmpeg 轉檔」,不用再開瀏覽器。

bat

取代 cat。最大的好處是自動語法高亮和行號,看設定檔、看程式碼都舒服很多。我在 .zshrc 裡直接 alias cat=bat

eza

取代 ls。支援 Git 狀態顯示、圖示、樹狀結構。eza --tree --level=2 --git 是我最常用的指令之一,一眼就能看到專案結構和哪些檔案有改動。原本用 exa,但它停止維護了,社群 fork 成了 eza。

fd

取代 find。語法直覺到不行——fd "\.md$" 就能找到所有 Markdown 檔案,不用再記 find . -name "*.md" 這種反人類語法。速度也快非常多。

ripgrep(rg)

取代 grep。快到離譜,自動忽略 .gitignore 裡的檔案,預設就是遞迴搜尋。在大型專案裡搜程式碼,ripgrep 跟 grep 的速度差距是秒跟分鐘的差距。

zoxide

取代 cd。它會記住你去過的目錄,之後只要打 z blog 就能跳到 /Users/bobochen/Desktop/github/bobo52310/bobo-blog-2026。不用再打完整路徑,也不用設一堆 alias。

fzf

模糊搜尋神器。Ctrl+R 搜歷史指令、Ctrl+T 搜檔案、搭配其他指令做互動式選取。裝了就回不去了。

btop

取代 htop,又取代了 top。CPU、記憶體、網路、磁碟一目瞭然,介面漂亮到可以當桌布。當 Docker container 吃掉一堆記憶體時,我第一個開的就是它。

jq

JSON 的瑞士刀。API 回傳一坨 JSON,用 curl ... | jq '.data[0].name' 就能精準抓到你要的欄位。寫 shell script 處理 JSON 資料時更是離不開它。

httpie

取代 curl 來做 API 測試。語法更人性化:http POST api.example.com/users name=Bobo,自動格式化 JSON 輸出、自動語法高亮。curl 我還是會用,但快速測 API 的時候 httpie 真的舒服很多。

Git 相關

Git 本身已經很強了,但這些工具讓它更好用。

lazygit

TUI 的 Git 客戶端。interactive rebase、解 merge conflict、看 diff、cherry-pick,全部在終端機裡用鍵盤操作完成。自從用了 lazygit,我幾乎不再用 git add -p 或是開 VS Code 的 Git 面板了。

gh

GitHub 官方的 CLI 工具。開 PR、看 CI 狀態、review code、管理 issue,全部在終端機裡搞定。gh pr creategh run watch 是我每天都會用的指令。

delta

git diff 的輸出變漂亮。side-by-side 對照、語法高亮、行號,設好 .gitconfig 之後所有 diff 都會自動套用。一次設定,永久享受。

git-lfs

大檔案版本控制。設計師丟給我的 PSD、Figma 匯出的大圖、影片素材,都用 git-lfs 追蹤,避免 repo 肥到推不動。

git-flow

雖然現在很多團隊改用 trunk-based development,但我有些專案還是用 git-flow 的分支模型。這個 CLI 工具讓 feature/release/hotfix 的分支操作標準化。

編輯器與 IDE

VS Code

主力編輯器,沒什麼好說的。Extension 生態系太強了,幾乎什麼語言、什麼框架都有支援。

Cursor

AI-first 的程式編輯器,基於 VS Code 的 fork。我現在大約 60% 的時間用 Cursor、40% 用 VS Code。Cursor 在需要 AI 輔助寫程式的時候特別好用——Composer 功能可以讓 AI 直接改多個檔案,比 Copilot 更激進也更方便。

neovim

快速編輯設定檔、在 SSH 進去的遠端機器上改東西。不是主力編輯器,但在終端機裡需要改個檔案的時候,neovim 的啟動速度和鍵盤操作效率是無可取代的。

容器與雲端

OrbStack

取代 Docker Desktop。同樣的功能,但啟動速度快非常多、吃的記憶體少非常多。原本 Docker Desktop 動不動吃掉 4-6 GB RAM,換成 OrbStack 之後降到 1-2 GB。這大概是我這份清單裡 CP 值最高的替換。

kubectl

Kubernetes 的 CLI 工具。管理 K8s 叢集、部署、查看 pod 狀態都靠它。

k9s

Kubernetes 的 TUI 管理工具,跟 lazygit 之於 git 一樣的角色。看 pod log、exec 進 container、看 resource 使用量,全部用鍵盤操作,比 kubectl 打一堆指令快多了。

terraform

Infrastructure as Code。雲端資源全部用程式碼定義,可以版本控制、可以 code review、可以重複建立。用過就回不去手動點 console 了。

awscli

AWS 的 CLI 工具。管 S3、查 CloudWatch log、操作 Lambda,日常雲端操作都靠它。

生產力工具

這些不是開發工具,但對工作效率的影響一樣巨大。

Raycast

取代 macOS 內建的 Spotlight。啟動 app、計算機、剪貼簿歷史、視窗管理、snippet 展開、搜尋文件⋯⋯Raycast 一個打十個。裝了之後 Spotlight 就再也沒開過了。我特別愛它的 clipboard history 和 window management——不用再另外裝視窗管理工具。

Arc

主力瀏覽器。Space 功能可以把工作和個人的分頁完全隔開,sidebar 的分頁管理也比傳統的 tab bar 好用。原本用 Chrome 用了十幾年,轉過來之後完全回不去。

Notion

知識庫、專案管理、文件協作的主力工具。我的部落格文章草稿、side project 的規劃、讀書筆記全部放在 Notion。

Obsidian

個人筆記和知識圖譜。跟 Notion 的差別是:Obsidian 是純本地的 Markdown 檔案,不依賴任何雲端服務,啟動速度快、離線也能用。我用它做每日筆記和永久筆記,Notion 則拿來做需要協作的東西。

1Password

密碼管理器。所有帳號密碼、SSH key、API token、信用卡資訊都放在裡面。CLI 版的 op 還可以在 shell script 裡安全地取用 secret,不用把密碼寫在程式碼裡。

CleanShot X

取代 macOS 內建截圖。標注、馬賽克、滾動截圖、錄 GIF、OCR 文字辨識都有。寫技術文章的時候截圖標注特別好用,省了一堆後製的時間。

Karabiner-Elements

鍵盤自訂工具。我把 Caps Lock 改成了 Hyper key(同時按下 Ctrl+Option+Cmd+Shift),搭配 Raycast 的快捷鍵設定,一顆鍵就能觸發各種操作。這個設定改變了我整個鍵盤的使用方式。

IINA

macOS 上最好的影片播放器。原生 UI、支援幾乎所有格式、觸控板手勢操作。取代 VLC 之後就沒回去了。

通訊與協作

Slack

工作溝通主力。大部分團隊和社群都在 Slack 上。

Discord

技術社群和開源專案的討論主要在 Discord。參與的幾個開源社群都有自己的 Discord server。

Line

台灣的國民通訊軟體,跟朋友家人聯繫還是離不開它。

Zoom

視訊會議。雖然 Google Meet 也很常用,但 Zoom 的穩定度和功能還是比較完整,特別是錄影和虛擬背景。

Figma

設計協作工具。跟設計師溝通、看設計稿、抓標注和間距都在 Figma 上。就算是自己做 side project,我也會先在 Figma 畫 wireframe。

其他好用的

這些工具各自解決一個小痛點,但加在一起讓整個 Mac 體驗好非常多。

ffmpeg

影音處理的瑞士刀。轉檔、壓縮、截圖、合併影片、抽音軌,一行指令搞定。GUI 軟體能做的它都能做,而且可以寫成腳本批次處理。

ImageOptim

圖片壓縮。部落格文章的圖片上傳前都會先丟進去壓一下,通常可以減少 50-70% 的檔案大小而幾乎看不出畫質差異。

Keka

解壓縮工具。支援的格式比內建的封存工具多很多,7z、RAR、TAR 都能處理。

MonitorControl

外接螢幕亮度和音量控制。用 Mac 接外接螢幕的人一定懂那個痛——內建的亮度鍵只能控制筆電螢幕。MonitorControl 讓你用鍵盤直接調外接螢幕的亮度,跟內建螢幕一樣方便。

mas

Mac App Store 的 CLI 工具。搭配 Brewfile 使用,可以把 App Store 裡買的 App 也納入自動化安裝。

完整 Brewfile

說了這麼多,這是我的完整 Brewfile。你可以直接複製一份,把不需要的刪掉、加上你自己的工具:

# ============================================
# Bobo's Brewfile
# 最後更新:2026-03-13
# ============================================

# --- Taps ---
tap "homebrew/bundle"

# === 開發環境基礎 ===
brew "git"
brew "node"
brew "python"
brew "go"
brew "rust"
brew "mise"                   # 多語言版本管理
brew "starship"               # 跨平台 shell prompt
brew "cmake"

# === 終端機工具 ===
brew "bat"                    # 取代 cat,語法高亮
brew "eza"                    # 取代 ls,Git 整合
brew "fd"                     # 取代 find,語法直覺
brew "ripgrep"                # 取代 grep,超快搜尋
brew "zoxide"                 # 取代 cd,智慧跳轉
brew "fzf"                    # 模糊搜尋
brew "btop"                   # 系統監控 TUI
brew "jq"                     # JSON 處理
brew "httpie"                 # HTTP 測試

# === Git 相關 ===
brew "lazygit"                # Git TUI 客戶端
brew "gh"                     # GitHub CLI
brew "git-delta"              # 更好的 diff
brew "git-lfs"                # 大檔案版本控制
brew "git-flow"               # Git-flow 分支模型

# === 容器與雲端 ===
brew "kubectl"                # Kubernetes CLI
brew "k9s"                    # Kubernetes TUI
brew "terraform"              # Infrastructure as Code
brew "awscli"                 # AWS CLI

# === 其他 CLI 工具 ===
brew "ffmpeg"                 # 影音處理
brew "mas"                    # Mac App Store CLI

# === GUI 應用程式 (cask) ===

# 編輯器與 IDE
cask "visual-studio-code"
cask "cursor"

# 終端機
cask "warp"

# 容器
cask "orbstack"               # 取代 Docker Desktop

# 瀏覽器
cask "arc"

# 生產力
cask "raycast"                # 取代 Spotlight
cask "notion"
cask "obsidian"
cask "1password"
cask "cleanshot"              # 截圖工具
cask "karabiner-elements"     # 鍵盤自訂

# 通訊
cask "slack"
cask "discord"
cask "line"
cask "zoom"
cask "figma"

# 工具
cask "iina"                   # 影片播放器
cask "imageoptim"             # 圖片壓縮
cask "keka"                   # 解壓縮
cask "monitorcontrol"         # 外接螢幕控制
cask "neovim"                 # 終端機編輯器

幾個選擇背後的思路

回頭看這份清單,我發現自己的選擇有幾個共同的模式:

能用鍵盤就不用滑鼠。 lazygit、k9s、neovim、Raycast——都是鍵盤優先的工具。不是故意要走 hardcore 路線,是因為手不用離開鍵盤真的快很多。

Rust 寫的 CLI 工具通常比較好。 bat、eza、fd、ripgrep、zoxide、starship、delta——全部是 Rust 寫的。速度快、binary 小、不需要裝 runtime。這不是 Rust 信仰,是實際體驗的結論。

花錢買好工具是值得的。 CleanShot X、1Password、Raycast Pro——這些付費工具每天幫我省下的時間遠超過它們的價格。工程師的時薪換算一下,一個月省 30 分鐘就值回票價了。

不怕換工具。 iTerm2 → Warp、Docker Desktop → OrbStack、Chrome → Arc、oh-my-zsh → starship。只要新工具明顯更好,學習成本就是值得的投資。

最後

這份 Brewfile 不是標準答案——每個人的工作流程不同,需要的工具也不同。但我相信看看別人的工具箱,一定能發現幾個你沒想過但其實很需要的東西。

如果你也有一份自己的 Brewfile,或是有什麼工具覺得「不能沒有它」,歡迎留言分享。最好的工具推薦,永遠來自實際在用的人。

留言討論

esc
輸入關鍵字搜尋文章...
查看收藏 →