Bat 是一个具有语法高亮、自动分页、与 git 集成等功能的 cat 类命令,它是 cat 命令的克隆版,我们在 Linux 操作系统中使用 Bat 及定制 Bat 来替代 cat,bat 支持 Linux、FreeBSD、Windows、macOS 平台,可以在多个平台进行操作。
一、安装Bat的方法
1.如果是在 Arch Linux 系统中则使用命令 $ sudo pacman -S bat 安装。
2.如果是在 Void Linux 中运行命令 xbps-install -S bat 安装。
3.在 Debian、Ubuntu、Linux Mint 等系统中,可以下载 .deb 文件后用下面命令安装:
$ sudo apt install gdebi
$ sudo gdebi bat_xxx_amd64.deb 或 sudo dpkg -i bat_xxx_amd64.deb 安装(xxx为下载的版本号,截止本文时间的最新版本是bat 0.7.1,即 sudo dpkg -i bat_0.7.1_amd64.deb)
二、使用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
现在你可以使用回车键去一页一页的查看输出。然而当你使用 bat 命令时这些都是不必要的。bat 命令将自动传输跨越多个页面的文件的输出。
$ bat reverse.py
现在按下回车键去往下一页。
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 还有更多的技巧及实用改变,等你来摸索定制 bat 了。
相关主题