前言
bat
是一個用 Rust 語言寫的 cat
替代品,支援顏色、行號、Git、標籤、JSON、Markdown、顯示非印刷字元、自動分頁、自動語法高亮、自動 git diff 等等。
安裝
Debian 和 Ubuntu
bat
在 Ubuntu 20.04 (“Focal”) 和 Debian 11 (“Bullseye”) 之後可用。
如果你的 Ubuntu/Debian 版本足夠新的,你可以直接執行:
如果你這樣安裝 bat
,請注意執行檔可能會安裝為 batcat
而不是 bat
(因為與另一個套件名稱衝突)。
可以設置一個 bat
-> batcat
的符號連結或別名來防止因此而出現的任何問題,並與其他發行版保持一致。
設置符號連結
1
2
| mkdir -p ~/.local/bin
ln -s /usr/bin/batcat ~/.local/bin/bat
|
取代 cat
1
| alias cat='batcat' --save
|
列出所有高亮樣式
列出所有語法高亮
配合 fzf
使用,選擇喜歡的主題樣式
1
| bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
|
整合其他工具
fzf
您可以使用 bat
作為 fzf
的預覽器。
為了做到這點,使用 bat --color=always
選項來強制彩色輸出。
您也可以使用 --line-range
選項來縮短長檔案的加載時間:
1
| fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"
|
find
或 fd
您可以使用 find
的 -exec
選項來用 bat
預覽所有搜尋結果:
如果您剛好使用 fd
,您可以使用 -X
/ --exec-batch
選項來實現相同的功能:
tail -f
bat
可以與 tail -f
結合使用,以語法高亮的方式持續監控指定的檔案。
1
| tail -f /var/log/pacman.log | bat --paging=never -l log
|
請注意,我們必須關閉分頁才能讓這個功能正常運作。我們也明確指定了語法(-l log),因為在這種情況下無法自動檢測。