Bat

Bat

Bat

bat #

类似cat命令,但带有 git 集成和语法高亮。

cat是unix系统下用来检视档案连续内容用的指令,字面上的含意是“concatenate”(连续)的缩写。除了用来作为显示档案内容外,cat指令也可用于标准串流上的处理,如将显示的讯息转入或附加另一档案上。

主要功能使用方法安装自定义项目目标和替代方案

语法高亮 #

bat 对大部分编程语言和标记语言提供语法高亮:

Syntax highlighting example

Git 集成 #

bat 能从 git 中获取文件的修改并展示在边栏(见下图):

Git integration example

不可打印(non-printable)字符可视化 #

添加-A/--show-all参数可以文件文件中的不可打印字符:

Non-printable character example

自动分页 #

bat会在一般情况下将大于屏幕可显示范围的内容输出到分页器(pager, e.g. less)。

你可以在调用时添加--paging=never参数来使bat不使用分页器(就像cat一样)。如果你想要用为cat使用bat别名,可以在 shell 配置文件(shell configuration)中添加alias cat='bat --paging=never'

智能输出 #

bat能够在设置了分页器选项的同时进行管道:wink:。 当bat检测到当前环境为非可交互终端或管道时(例如使用bat并将内容用管道输出到文件),bat会像cat一样,一次输出文件内容为纯文本且无视--paging参数。

如何使用 #

在终端中查看一个文件

> bat README.md

一次性展示多个文件

> bat src/*.rs

stdin读入流,自动为内容添加语法高亮(前提是输入内容的语言可以被正确识别,通常根据内容第一行的 shebang 标记,形如#!bin/sh

> curl -s https://sh.rustup.rs | bat

显式指定stdin输入的语言

...