Linux 查看文件內容——bat 命令

what's the bat

  工作中使用 cat 的頻率較高,主要用於顯示文本文件的具體內容。

  但 cat 命令兩個很重大的缺陷:

  1.  不能語法高亮輸出
  2.  文本太長的話無法翻頁輸出。

  所以 cat 一般只用來查看行數不多的小文件,大文件需要用到 head、tail 等命令。

  國外有大牛將 cat 命令進行了增強,開發了更好用的 bat 命令。

 

bat 主要功能:

  1. 語法高亮——支持根據編程語言以及 markdown 語法將文本關鍵詞高亮,可閱讀性大大增強;
  2. 自動翻頁——如果文本內容太長,超過一頁的話,它會自動將內容通過管道傳到 less 命令,實現翻頁的效果;
  3. 集成Git——bat 命令跟 git 完美結合,將文本的修改部分在左側展示,一眼就可以看出文件修改了啥。
  4. 顯示不可打印字符——有些字符無法通過 cat 在屏幕上顯示

安裝

sudo apt-get install bat

 

  這裏要注意一下,由於名稱的衝突,在 Ubuntu 下無法直接通過敲 bat 這三個字母運行 bat 命令,而是需要敲 batcat 。爲了方便,可以設置別名

alias "bat=batcat"

 

使用方法

基本使用

  bat 命令的用法跟 cat 基本相同,除了輸出與 cat 一樣的文本內容之外,還能輸出包括行數、文件名、表格外框等元素。如果行數比較多,還可以使用 --line-range 來顯示指定行數的內容

 

語法高亮

  bat 對大部分編程語言和標記語言提供語法高亮,可讀性更強。

查看所有支持的語言

bat --list-languages

 

Git 集成

  bat 能從 git 中獲取文件的修改並展示在邊欄

 

顯示不可打印字符

  有時候文本里有一些不可顯示的字符,如果使用 cat 命令查看的話,將看不到這些字符。但如果使用 bat 命令,加上 -A 或者 -show-all 參數就能看到。

bat -A xxx.txt

 

自動翻頁功能

  cat 命令不管文本大小全部顯示出來,使得在需要查看內容比較多的文本文件的時候,必須選擇其它命令(比如 more 、less 等等)。

  bat 命令在文本內容超過一屏可顯示範圍時,就會將其發送到 less 命令,然後就可以像使用 less 一樣進行翻頁操作。如果不想使用翻頁功能,可以使用 --paging=never 參數關閉。

 

主題定製

  bat 命令支持多種風格的語法高亮主題,可以滿足大部分需求。

查看 bat 支持的所有主題

bat --list-themes

 

如果想指定主題爲 GitHub ,可以使用以下命令

bat --theme=GitHub 文件名

 

  但這樣做是臨時的,關閉終端工具或者系統重啓,主題就會恢復默認。可以通過設置 BAT_THEME 環境變量來選定主題。

  把 export BAT_THEME="GitHub" 添加到 shell 的啓動腳本來取得永久效果。除此之外,還可以自定義輸出樣式,甚至可以自己添加新的語言和語法,輸出讓自己滿意的高亮樣式。

 

 

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章