前言
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),因為在這種情況下無法自動檢測。