42.6k star让命令输出焕然一新的语法高亮工具--bat

2024-09-09 10:01:56 浏览数 (1)

bat简介

作为Linux/Unix系统的重度用户,你是否厌倦了一成不变的命令行输出?各种文件内容和程序输出以枯燥乏味的白色ascii码显示,找重点信息难得很。有没有更好的解决方案?

现在我们有bat了。bat是一个实现语法高亮和Git集成的cat命令替代工具。它让复杂的输出内容以优雅易读的形式显示,可以极大提高命令行的可用性。

本文将详细介绍bat的安装方法、精彩示例以及高级用法,让你快速上手,充分发挥bat的魔力。赶快来看看吧!

bat结合fzf

如何安装bat

bat支持Linux、macOS和Windows系统。在大多数平台上,可以通过包管理器一键安装:

代码语言:bash复制
# Linux 
sudo apt install bat # Ubuntu
sudo pacman -S bat # Arch

# macOS
brew install bat

也可以下载预编译二进制文件使用。此外,还可以通过cargo安装:

代码语言:bash复制
cargo install bat

安装完成后可以通过bat --help查看丰富的命令行选项。非常方便!

实际使用展示

我们先来看几个使用示例,感受一下bat的魅力:

显示日志文件,语法高亮

代码语言:bash复制
bat access.log

显示GitHub风格的Git修改

代码语言:bash复制
bat --git-modification-lines

Integration 系统信息

代码语言:bash复制
bat /proc/meminfo # Linux
bat systeminfo # Windows

支持分页和平滑滚动,使用less控制键

显示远程文件内容

代码语言:bash复制
bat https://example.com/foo.js  

支持JSON格式美化

代码语言:bash复制
bat package.json

Highlight bash脚本语法

代码语言:bash复制
bat test.sh

这些只是冰山一角,bat可以应用到任何需要显示文本输出的场合,大大提升可读性。

定制语法高亮

bat内置支持多种语言和文件类型的语法高亮。但有时候需要自定义高亮。

这个可以通过--map-syntax来实现。例如,为nginx日志定义高亮:

代码语言:bash复制
--map-syntax nginx.access.log:accesslog

然后在bat-syntaxes库中添加accesslog高亮定义。

此外,还可以添加文件头定义,自动高亮特定文件,比如.env文件:

代码语言:bash复制
bat --print-language-headers .env

主题选择

bat提供了多种主题配色可供选择,用来突出显示不同类型的内容。

使用bat --list-themes查看可用主题列表。

然后在bat-theme库中可以找到主题安装方法。一般将主题文件保存到~/.bat-themes文件夹,然后:

代码语言:bash复制
bat --theme=<theme-name>

例如monokai主题:

代码语言:bash复制
bat --theme=Monokai Extended

定制别名

可以设置alias,让bat代替常用命令,例如:

代码语言:bash复制
alias cat='bat' 

alias curl='curl -s | bat'

这样只需要运行catcurl就可以享受语法高亮输出了。

结束语

bat让我们重拾了对命令行输出的热情。醒目的语法高亮让重要信息一目了然。而且使用简单方便,定制灵活。

简单的bat命令就可以让任何文本内容焕然一新。快去试试吧,它绝对会成为你的终端神器之一!

0 人点赞