Linux中國

Bat:一種具有語法高亮和 Git 集成的 Cat 類命令

在類 UNIX 系統中,我們使用 cat 命令去列印和連接文件。使用 cat 命令,我們能將文件目錄列印到到標準輸出,合成幾個文件為一個目標文件,還有追加幾個文件到目標文件中。今天,我偶然發現一個具有相似作用的命令叫做 「Bat」 ,它是 cat 命令的一個克隆版,具有一些例如語法高亮、 Git 集成和自動分頁等非常酷的特性。在這個簡略指南中,我們將講述如何在 Linux 中安裝和使用 bat 命令。

安裝

Bat 可以在 Arch Linux 的默認軟體源中獲取。 所以你可以使用 pacman 命令在任何基於 arch 的系統上來安裝它。

$ sudo pacman -S bat

在 Debian、Ubuntu、Linux Mint 等系統中,從其發布頁面下載 .deb 文件,然後用下面的命令來安裝。

$ sudo apt install gdebi
$ sudo gdebi bat_0.5.0_amd64.deb

對於其他系統,你也許需要從軟體源編譯並安裝。確保你已經安裝了 Rust 1.26 或者更高版本。

然後運行以下命令來安裝 Bat:

$ cargo install bat

或者,你可以從 Linuxbrew 軟體包管理中來安裝它。

$ brew install bat

bat 命令的使用

bat 命令的使用與 cat 命令的使用非常相似。

使用 bat 命令創建一個新的文件:

$ bat > file.txt

使用 bat 命令來查看文件內容,只需要:

$ bat file.txt

你能同時查看多個文件:

$ bat file1.txt file2.txt

將多個文件的內容合併至一個單獨文件中:

$ bat file1.txt file2.txt file3.txt > document.txt

就像我之前提到的那樣,除了瀏覽和編輯文件以外,bat 命令有一些非常酷的特性。

bat 命令支持大多數編程和標記語言的 語法高亮 syntax highlighting 。比如,下面這個例子。我將使用 catbat 命令來展示 reverse.py 的內容。

你注意到區別了嗎? cat 命令以純文本格式顯示文件的內容,而 bat 命令顯示了語法高亮和整齊的文本對齊格式。更好了不是嗎?

如果你只想顯示行號(而沒有表格)使用 -n 標記。

$ bat -n reverse.py

另一個 bat 命令中值得注意的特性是它支持 自動分頁 automatic paging 。 它的意思是當文件的輸出對於屏幕來說太大的時候,bat 命令自動將自己的輸出內容傳輸到 less 命令中,所以你可以一頁一頁的查看輸出內容。

讓我給你看一個例子,使用 cat 命令查看跨多個頁面的文件的內容時,提示符會快速跳至文件的最後一頁,你看不到內容的開頭和中間部分。

看一下下面的輸出:

正如你所看到的,cat 命令顯示了文章的最後一頁。

所以你也許需要去將使用 cat 命令的輸出傳輸到 less 命令中去從開頭一頁一頁的查看內容。

$ cat reverse.py | less

現在你可以使用回車鍵去一頁一頁的查看輸出。然而當你使用 bat 命令時這些都是不必要的。bat 命令將自動傳輸跨越多個頁面的文件的輸出。

$ bat reverse.py

現在按下回車鍵去往下一頁。

bat 命令也支持 Git 集成 GIT integration ,這樣您就可以輕鬆查看/編輯 Git 存儲庫中的文件。 它與 Git 連接可以顯示關於索引的修改。(看左欄)

定製 Bat

如果你不喜歡默認主題,你也可以修改它。Bat 同樣有修改它的選項。

若要顯示可用主題,只需運行:

$ bat --list-themes
1337
DarkNeon
Default
GitHub
Monokai Extended
Monokai Extended Bright
Monokai Extended Light
Monokai Extended Origin
TwoDark

要使用其他主題,例如 TwoDark,請運行:

$ bat --theme=TwoDark file.txt

如果你想永久改變主題,在你的 shells 啟動文件中加入 export BAT_THEME="TwoDark"

bat 還可以選擇修改輸出的外觀。使用 --style 選項來修改輸出外觀。僅顯示 Git 的更改和行號但不顯示網格和文件頭,請使用 --style=numbers,changes

更多詳細信息,請參閱 Bat 項目的 GitHub 庫(鏈接在文末)。

最好,這就是目前的全部內容了。希望這篇文章會幫到你。更多精彩文章即將到來,敬請關注!

乾杯!

via: https://www.ostechnix.com/bat-a-cat-clone-with-syntax-highlighting-and-git-integration/

作者:SK 選題:lujun9972 譯者:z52527 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國