蝙蝠 – 具有语法突出显示和 Git 集成的猫克隆

本指南解释什么是 Bat,如何在 Linux 中安装 bat,以及如何在 Linux 和 Unix 操作系统中使用 Bat 命令。

内容

  1. 什么是蝙蝠?
  2. 在 Linux 上安装 Bat
  3. 蝙蝠命令用法
    1. 自定义 Bat 命令主题

什么是蝙蝠?

在 Linux 和类 Unix 系统中, ‘猫’ 命令用于打印和连接文件。

使用 cat 命令,我们可以将文件的内容打印到标准输出,将多个文件连接到目标文件中,并将多个文件附加到目标文件中。

今天,我偶然发现了一个类似的实用程序,名为 “蝙蝠”. 它只是 cat 命令的克隆,具有一些额外的酷功能,例如语法高亮、git 集成和自动分页等

在 Linux 上安装 Bat

Bat 是为流行的 Linux 操作系统打包的。

高山Linux:

Bat 在 Alpine Linux 的官方存储库中可用。 要在 Alpine Linux 上安装 bat,请运行:

$ sudo apk add bat

Arch Linux:

Bat 在 Arch Linux 的默认存储库中可用。 因此,您可以在任何基于 arch 的系统上使用 pacman 安装它。

$ sudo pacman -S bat

基于 Debian 的系统:

在 Debian、Ubuntu、Linux Mint、Pop_OS 上! 系统,下载 .deb 文件从 发布页面 并安装它,如下所示。

$ wget https://github.com/sharkdp/bat/releases/download/v0.11.0/bat_0.11.0_amd64.deb
$ sudo apt install gdebi
$ sudo gdebi bat_0.11.0_amd64.deb

SUSE/openSUSE:

您可以使用 zypper 安装 bat,如下所示:

$ sudo zypper install bat

使用 Nix 包管理器:

在 NixOS 中,您可以使用 nix 包管理器安装 bat:

$ nix-env -i bat

Fedora:

可以从官方安装bat Fedora 模块化存储库。

$ sudo dnf install bat

巴布亚新几内亚:

emerge sys-apps/bat

无效的 Linux:

你可以安装 bat 通过 xbps 安装:

$ sudo xbps-install -S bat

自由BSD:

你可以安装一个预编译的 bat 带 pkg 的包装:

# pkg install bat

或者从 FreeBSD 端口构建它:

# cd /usr/ports/textproc/bat # make install

从源代码使用 Cargo 包管理器:

确保您已安装 Rust 1.26 或更高版本。

  • 在 Linux 中安装 Rust 编程语言

然后,运行以下命令安装 Bat:

$ cargo install bat

使用 Linuxbrew:

或者,您可以使用安装它 Linuxbrew 包管理器。

$ brew install 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 实用程序还有一些很酷的功能。

蝙蝠支架 语法高亮 适用于大量编程和标记语言。 例如,看下面的例子。

我要显示的内容 reverse.py 文件同时使用 cat 和 bat 命令。

cat 和 bat 命令输出比较

你注意到区别了吗? 这 cat 命令以纯文本格式显示文件的内容,而 Bat 以语法高亮显示输出,订单号以整洁的表格列格式显示。 好多了,不是吗?

如果您只想显示行号(不是表格列),请使用 -n 旗帜。

$ bat -n reverse.py

样本输出:

没有表格列的 bat 命令输出

Bat 命令的另一个显着特点是它支持 自动寻呼. 这意味着如果文件的输出对于一个屏幕来说太大了,bat 命令会自动将自己的输出通过管道传输到 less 命令,因此您可以逐页查看输出。

让我给你看一个例子。

使用 cat 命令查看跨多页的文件内容时,提示符会快速跳转到文件的最后一页,看不到开头或中间的内容。

看看下面的输出:

cat 命令输出cat 命令输出

如您所见, cat 命令显示文件的最后一页。

因此,您可能需要将 cat 命令的输出通过管道传输到 less 命令从头开始逐页查看其内容。

$ cat reverse.py | less

现在,您可以通过按 ENTER 键逐页查看输出。 但是,如果您使用 bat 命令,则不需要。 bat 命令将自动通过管道输出跨越多个页面的文件。

$ bat reverse.py

样本输出:

bat命令支持自动分页bat命令支持自动分页

现在按 ENTER 键进入下一页。

bat 命令还支持 GIT 集成,因此您可以轻松查看/编辑 Git 存储库中的文件。 它与 git 通信以显示对索引的修改(见左侧栏)。

Git 与 Bat 命令集成Git 与 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

如果要使主题永久化,请使用 BAT_THEME="TwoDark" 在你的 shell 的启动文件中。

Bat 还可以选择控制输出的外观。 为此,请使用 --style 选项。 要仅显示 Git 更改和行号,但不显示网格和文件标题,请使用 --style=numbers,changes.

您可以从以下位置阅读类似工具的比较 这张表. 请注意,比较是从 Bat 的角度进行的。

有关更多详细信息,请参阅下面给出的 Bat 命令项目 GitHub 页面。

资源:

  • 蝙蝠 GitHub 存储库

BatCatCat 克隆GitLinuxLinux 命令Rust