Bat
語法高亮的 Cat 增強版
軟體分類 生產力 / 系統工具
軟體標籤
rated-1TypesettingAutomation toolsSplashtop Business Access
開發廠商 David Peter (sharkdp)
產品說明
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格式,你可以載入自己喜歡的配色方案。
操作介面


