龙空技术网

高集成、速克隆,开发者的利器!BAT

GitHub精选 2847

前言:

现时同学们对“ubuntu 批处理”大致比较关心,我们都需要知道一些“ubuntu 批处理”的相关知识。那么小编同时在网上收集了一些关于“ubuntu 批处理””的相关知识,希望朋友们能喜欢,朋友们一起来学习一下吧!

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的 BAT类似cat(1),具有git集成和语法高亮等诸多特性。

主要功能

语法高亮

bat对语言编程语言亮和标注提供语言语法高:

Git 集成

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

不可(non-printable)显示打印显示化

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

自动分页

bat会在一般情况下将更大的屏幕可显示范围显示的内容输出到分页器(寻呼机,例如less)。

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

智能输出

bat能够在设置分页器选项的同时进行管道可以为非示例性的客户使用当前文件bat或管道像,bat并将内容用管道输出到会场时,一次输出文件且无视参数内容。

如何使用

在终端中查看一个文件

> bat README.md

展示多个文件

> bat src/*.rs

从stdin读入流式标注,根据第一条为输入内容添加语法高亮自动识别输入内容的语言是否正确,通常是内容行的shebang标记,#!bin/sh如

> curl -s  | bat

语言显式指定stdin输入的

> yaml2json .travis.yml | json_pp | bat -l json

显示不可打印字符

> bat -A /etc/hosts

的与cat相似

bat > note.md  # 创建一个空文件bat header.md content.md footer.md > document.mdbat -n main.rs  # 只显示行号bat f - g  # 输出 f,接着是标准输入流,最后 g
工具

fzf

你可以使用bat作为fzf预览器。这需要在bat后加载--color=always选项,以及添加--line-range选项来限制大文件的次数。

fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'

find或者fd

你可以使用find的-exec选项来用bat搜索结果:

find … -exec bat {} +

亦或者在使用fd时添加-X/--exec-batch选项:

fd … -X bat

ripgrep

bat也batgrep可以使用显示ripgrep的搜索结果。

batgrep needle src/

tail -f

当与他们tail -f一起时,bat可以持续监视文件内容并使用不同的语法高亮。

tail -f /var/log/pacman.log | bat --paging=never -l log

git

bat当然也可以接受来自git show的输出并直接自定义语法高亮(也需要手动指定语法):

git show v0.6.0:src/main.rs | bat -l rs

man

bat这也man需要设置的输出MANPAGER环境变量:

export MANPAGER="sh -c 'col -bx | bat -l man -p'"man 2 select

Ubuntu(使用apt)

如果你无法使用一种安装方式,或者需要使用最新版的bat,你可以从发布页面下载最新的.deb包并通过以下方法安装:

sudo dpkg -i bat_0.18.3_amd64.deb  # adapt version number and architecture

Arch Linux

你可以用下面的命令从官方源中安装bat包:

pacman -S bat

Funtoo Linux

你可以从 dev-kit 中安装bat包:

emerge sys-apps/bat

Gentoo Linux

你可以使用以下命令从官方源中安装bat包:

emerge sys-apps/bat
自定义

语法高亮主题

使用bat --list-themes一个语法也--theme=TwoDark高亮使用指定主题为TwoDark,可以通过设置BAT_THEME环境来配置选择主题。把export BAT_THEME="TwoDark"添加到shell的启动脚本(shell启动文件)来取得永久效果。或者使用bat的文件

若想查看所有主题在一个文件上的效果显示可以用一下命令(需要安装fzf):

bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"

bat默认情况下能够在黑色的主题背景下添加出色的效果,如果您的终端使用亮色背景,可以在主题中添加GitHub或OneHalfLight想要添加自定义主题。

8位主题

bat自带三个8-bit色彩主题:

ansi适合于大多数场景。它使用 3-bit 色彩:黑红黄蓝洋红靛蓝青白。base16专为base16终端设计。它使用4-bit色彩(自由的3-bit色彩)。根据base16造型指南制作。base16-25该为base16 -shell设计。它把部分亮色替换为8-bit色彩。请不要直接使用主题,如果你的256色终端是否使用base16-shell。

这些主题具有独特的颜色,但具有一些真正的主题不具有:

所有终端工具都支持3-bit的色彩。会见终端主题。视觉上和其他的终端工具更协调。添加新的语言和语法

当现有的bat不支持自己的语言或语法时,你可以添加。

bat使用syntect库来支持语法高亮,该库使用Sublime Text.sublime-syntax语法文件和主题。

当你找到一个语法文件时,按照以下方法:

1.创建包含语法描述文件的目录:

mkdir -p "$(bat --config-dir)/syntaxes"cd "$(bat --config-dir)/syntaxes"# Put new '.sublime-syntax' language definition files# in this folder (or its subdirectories), for example:git clone 

2.函数调用指令把文件转换为缓存:

bat cache --build

3.bat --list-languages最后检查新的语法是否被成功导入。想要回滚到最初的状态,使用:

bat cache --clear
使用自定义分页器

bat使用PAGER环境变量定义的分页器,如果没有定义则使用less。bat提供BAT_PAGER环境变量来专门为bat选择分页器(优先级了PAGER)。

注意:当PAGER设置为more或most时,bat可以代替less以确保能够提供色彩支持。

export BAT_PAGER="less -RF"

除了使用环境变量来改变bat使用的分页器,还可以在配置文件中提供--pager参数。

注意:其中的参数参数需要在 ANSI 标准颜色时的说明中注明:bat/ -R, --RAW-CONTROL-CHARS/-F以及--quit-if-one-screen/ -X(--no-init仅适用于其他的解释less)。纵向尺寸尺寸终端的时候,就可以在一个屏幕上正常播放。支持鼠标滚轮取消功能。)。-R-Flessq-X-Fless-Rquit-if-one-screen。

配置文件

bat --config-file

你也可以BAT_CONFIG_PATH用来bat指定自定义位置的配置文件:

export BAT_CONFIG_PATH="/path/to/bat.conf"

使用--generate-config-file参数调用bat会在指定位置生成一份默认的bat配置文件:

bat --generate-config-file

—END—

开源协议:LICENSE-2.0

开源地址:

标签: #ubuntu 批处理