AX 爱鲜报

bat

bat 是 cat 命令的增强替代品,用 Rust 编写,支持语法高亮、Git 集成、自动分页和不可打印字符展示,可作为日常查看文件的高颜值工具。

爱鲜报评分

0.0

0 人评分

61k

星数

是

中文

Rust

主语言

是

活跃

498

贡献者

人工分析

EDITORIAL

推荐理由

bat 在保留 cat 简单用法的同时,加入了语法高亮、Git 修改标记和自动分页,极大提升终端阅读代码与文本的体验。它性能优秀、跨平台、安装方式丰富,还能与 fzf、ripgrep、git、man 等工具无缝组合。对于经常在命令行中查看文件的开发者,几乎是必备工具。

适用场景

  • 终端中查看源代码文件并高亮语法
  • 配合 fzf/fd/ripgrep 做文件预览
  • 查看 git 历史版本文件或 diff 片段
  • 为 man 手册页和 --help 输出着色
  • 日志文件实时监控与高亮

优点

  • 语法高亮覆盖大量编程与标记语言
  • 原生 Git 集成,显示行修改状态
  • 自动分页,管道输出时自动退化为 cat 行为
  • Rust 实现,启动快、跨平台、单二进制
  • 与 fzf、ripgrep、git、man 等工具集成方便

缺点

  • 默认输出带行号与装饰,复制内容需加 -p 或管道
  • 部分系统包名或可执行文件名为 batcat
  • 作为 cat 别名使用时需注意 --paging=never 等参数
  • 高级定制需了解配置文件与主题语法
上手难度 入门

bat:带翅膀的 cat

bat 是 cat 命令的增强替代品,用 Rust 编写,在保留简单用法的同时提供语法高亮、Git 集成和自动分页等能力。

核心特性

  • 语法高亮:支持大量编程语言与标记语言,终端阅读代码更清晰。
  • Git 集成:与 git 通信,在侧边栏显示文件相对索引的修改状态。
  • 不可打印字符:使用 -A/--show-all 展示并高亮不可打印字符。
  • 自动分页:输出超过一屏时自动交给 less 等分页器;检测到非交互终端时退化为普通 cat 行为。

基本用法

bat README.md          # 查看单个文件
bat src/*.rs           # 一次查看多个文件
curl -s https://sh.rustup.rs | bat   # 从标准输入读取
bat -A /etc/hosts      # 显示不可打印字符
bat -n main.rs         # 仅显示行号

与其他工具组合

# 作为 fzf 预览器
fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"

# 配合 fd 批量预览
fd … -X bat

# 查看 git 历史版本文件
git show v0.6.0:src/main.rs | bat -l rs

# 为 man 手册着色
export MANPAGER="bat -plman"

使用建议

若希望把 cat 直接别名到 bat,建议加上 --paging=never 以保持原有行为;需要复制文件内容时使用 -p/--plain 或通过管道输出,避免行号和 Git 标记混入。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。