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 标记混入。
评论
- 暂无评论,来写第一条吧。