產品說明
Bat 是一款用 Rust 語言編寫的 cat 指令複製版(Clone),但它長了一對翅膀(With Wings)。如果你在終端機中經常需要查看設定檔、程式碼或日誌,卻厭倦了 cat 指令那種黑底白字、毫無格式的輸出,那麼 Bat 將會是你最愛的工具。
它的核心功能是在終端機中提供語法高亮(Syntax Highlighting)。不同於 cat 只是單純將文字倒在螢幕上,Bat 能自動辨識檔案類型(支援 Rust, Java, Python, JSON, Markdown 等數百種語言),並套用漂亮的配色主題。此外,它還深度整合了 Git,能直接在行號旁顯示新增、修改或刪除的標記,讓你在查看程式碼時能瞬間掌握變更狀態。
核心特色:
- 語法高亮:內建大量程式語言與標記語言的語法高亮,讓程式碼閱讀體驗比肩 VS Code。
- Git 整合:在側邊欄(Gutter)即時顯示 Git 的變更狀態(
+新增,~修改,-刪除)。 - 自動分頁:當檔案內容超過螢幕高度時,自動將內容傳遞給
less進行分頁顯示(按下q即可退出)。 - 顯示不可見字元:透過參數可以顯示空格、Tab 或換行符號,對於除錯設定檔(如 YAML 或 Makefile)非常有幫助。
- 無痛替換:參數設計盡量與
cat保持相容,學習成本極低。
常用指令
Bat 的使用方式與 cat 極為相似,大多數情況下你只需要把 cat 換成 bat 即可。
啟動與基礎操作
# 基礎用法:檢視檔案內容
bat config.yaml
# 串接管線 (Pipeline):將 curl 的結果交給 bat 高亮顯示
curl -s [https://example.com](https://example.com) | bat -l html
| 指令/參數 | 功能說明 | 應用場景 |
|---|---|---|
bat <file> | 檢視檔案 | 以預設樣式 (行號、高亮、Git 標記) 顯示檔案 |
-p / --plain | 純文字模式 | 關閉所有裝飾 (行號、分頁),行為如同傳統 cat,適合複製文字時使用 |
-n / --number | 顯示行號 | 僅顯示行號,不顯示 Git 狀態與檔案標頭 |
-A / --show-all | 顯示隱形字元 | 將空格、Tab 與換行符號顯示出來,除錯排版問題必備 |
-l / --language | 指定語言 | 強制指定語法高亮語言 (例如處理沒有副檔名的檔案) |
-r / --line-range | 指定行數 | 僅顯示特定行數範圍 (例如 bat -r 10:20 file.txt) |
--theme | 切換主題 | 暫時切換配色主題 (如 TwoDark, Dracula) |
進階技巧
- 設為 Manpage 閱讀器:你可以設定環境變數
MANPAGER="sh -c 'col -bx | bat -l man -p'",這樣以後輸入man git時,就會看到帶有語法高亮的說明手冊,閱讀體驗大幅提升。 - 整合 Fzf:Bat 非常適合作為
fzf的預覽視窗工具。設定fzf --preview 'bat --style=numbers --color=always --line-range :500 {}',就能在搜尋檔案時,於右側即時預覽帶有高亮的檔案內容。 - 自訂主題:Bat 支援 Sublime Text 的
.tmTheme格式,你可以載入自己喜歡的配色方案。
操作介面



