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
命令支援大多數程式設計和標記語言的語法高亮。比如,下面這個例子。我將使用 cat
和 bat
命令來展示 reverse.py
的內容。
你注意到區別了嗎? cat
命令以純文字格式顯示檔案的內容,而 bat
命令顯示了語法高亮和整齊的文字對齊格式。更好了不是嗎?
如果你只想顯示行號(而沒有表格)使用 -n
標記。
$ bat -n reverse.py
另一個 bat
命令中值得注意的特性是它支援自動分頁。 它的意思是當檔案的輸出對於螢幕來說太大的時候,bat
命令自動將自己的輸出內容傳輸到 less
命令中,所以你可以一頁一頁的檢視輸出內容。
讓我給你看一個例子,使用 cat
命令檢視跨多個頁面的檔案的內容時,提示符會快速跳至檔案的最後一頁,你看不到內容的開頭和中間部分。
看一下下面的輸出:
正如你所看到的,cat
命令顯示了文章的最後一頁。
所以你也許需要去將使用 cat
命令的輸出傳輸到 less
命令中去從開頭一頁一頁的檢視內容。
$ cat reverse.py | less
現在你可以使用Enter鍵去一頁一頁的檢視輸出。然而當你使用 bat
命令時這些都是不必要的。bat
命令將自動傳輸跨越多個頁面的檔案的輸出。
$ bat reverse.py
現在按下Enter鍵去往下一頁。
bat
命令也支援 Git 整合,這樣您就可以輕鬆檢視/編輯 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/
相關文章
- 使Ultraedit支援ASM語法高亮的方法ASM
- Sublime Text 支援 SCSS 語法高亮CSS
- vim設定go語法高亮Go
- Linux cat命令Linux
- ABAP Development Tools的語法高亮實現原理dev
- Git 常用命令整合Git
- 1.7.1. ORAPWD 命令的語法和描述
- 比cat更好用的命令!
- linux每日命令(11):cat命令Linux
- 第 09 篇:讓部落格支援 Markdown 語法和程式碼高亮
- 比 cat 更好用的命令瞭解一下?
- MarklightObjC: 用於 TextView 的 Markdown 語法高亮,支援 iOS、macOSOBJTextViewiOSMac
- ABAP開發環境語法高亮的那些事兒開發環境
- BAT命令BAT
- Linux基礎命令—catLinux
- Linux基礎命令---catLinux
- c實現cat命令
- nginx配置檔案語法高亮的Sublime Text擴充套件Nginx套件
- cat 命令的原始碼進化史原始碼
- Mac Sublime Text 載入 Vue 語法高亮外掛MacVue
- Laravel 中是用 vue 解析 Markdown 並語法高亮LaravelVue
- HighlightrObjC:使用 highlight.js 為核心的 NS/UITextView 語法高亮庫OBJJSUITextView
- ABAP的語法高亮是如何在瀏覽器裡顯示的瀏覽器
- 新學一種c語言寫法C語言
- git的一些小命令Git
- 一學就會的git命令Git
- Markdown常用的幾種語法
- 常用命令 ---tail-catAI
- Git命令的使用和相關配置Git
- git的使用命令和講解Git
- golang中一種不常見的switch語句寫法Golang
- vue2和vue3的多種語法形式Vue
- Smali 語法解析 —— 類
- Git的命令Git
- Markdown與LaTex使用語法整合
- 2.13.1 DBCA 命令語法概述
- sed命令語法詳解
- 幾種實用的 pythonic 語法Python