OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  bat-cat:支持语法高亮、行号及 Git 集成的增强型 cat 工具

bat-cat:支持语法高亮、行号及 Git 集成的增强型 cat 工具

 
  fieldx ·  2026-02-02 10:37:25 · 18 次点击  · 0 条评论  

名称: bat-cat
描述: 具备语法高亮、行号显示和 Git 集成的 cat 替代工具,现代化文件查看器。
主页: https://github.com/sharkdp/bat
元数据: {"clawdbot":{"emoji":"🦇","requires":{"bins":["bat"]},"install":[{"id":"brew","kind":"brew","formula":"bat","bins":["bat"],"label":"通过 Homebrew 安装 bat"},{"id":"apt","kind":"apt","package":"bat","bins":["bat"],"label":"通过 apt 安装 bat"}]}}


bat - 更强大的 cat

具备语法高亮、行号显示和 Git 集成的 cat 替代工具。

快速开始

基本用法

# 查看文件并启用语法高亮
bat README.md

# 查看多个文件
bat file1.js file2.py

# 显示行号(默认开启)
bat script.sh

# 不显示行号
bat -p script.sh

查看模式

# 纯文本模式(类似 cat)
bat -p file.txt

# 显示不可打印字符
bat -A file.txt

# 压缩连续空行
bat -s file.txt

# 分页控制(大文件自动分页)
bat --paging=always file.txt
bat --paging=never file.txt

语法高亮

语言检测

# 根据扩展名自动检测语言
bat script.py

# 强制指定语言
bat -l javascript config.txt

# 查看支持的所有语言
bat --list-languages

主题

# 列出可用主题
bat --list-themes

# 使用指定主题
bat --theme="Monokai Extended" file.py

# 在配置文件中设置默认主题
# ~/.config/bat/config: --theme="Dracula"

行范围控制

# 显示指定行范围
bat -r 10:20 file.txt

# 从指定行显示到文件末尾
bat -r 100: file.txt

# 从文件开头显示到指定行
bat -r :50 file.txt

# 多个行范围
bat -r 1:10 -r 50:60 file.txt

Git 集成

# 显示 Git 修改内容(增删改行)
bat --diff file.txt

# 显示装饰信息(Git 状态 + 文件头部)
bat --decorations=always file.txt

输出控制

# 原始输出(无样式)
bat --style=plain file.txt

# 自定义样式组合
bat --style=numbers,changes file.txt

# 可用样式:auto, full, plain, changes, header, grid, numbers, snip
bat --style=header,grid,numbers file.txt

常见使用场景

快速预览文件:

bat file.json

查看带语法高亮的日志:

bat error.log

可视化文件对比:

bat --diff file1.txt
bat file2.txt

编辑前预览:

bat config.yaml && vim config.yaml

管道中的 cat 替代:

bat -p file.txt | grep "pattern"

查看特定函数:

bat -r 45:67 script.py  # 如果函数位于 45-67 行

与其他工具集成

作为 man 手册的分页器:

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

与 ripgrep 配合:

rg "pattern" -l | xargs bat

与 fzf 配合:

fzf --preview 'bat --color=always --style=numbers {}'

与 diff 配合:

diff -u file1 file2 | bat -l diff

配置

创建 ~/.config/bat/config 文件设置默认配置:

# 设置主题
--theme="Dracula"

# 显示行号、Git 修改和文件头部,但不显示网格线
--style="numbers,changes,header"

# 在终端中使用斜体文本
--italic-text=always

# 添加自定义语法映射
--map-syntax "*.conf:INI"

性能提示

  • 在管道中使用 -p 纯文本模式
  • 程序化处理输出时使用 --paging=never
  • bat 会缓存已解析文件以加速后续访问

实用技巧

  • 别名设置: alias cat='bat -p' 可作为直接替代
  • 分页器: 使用 export PAGER="bat" 设为默认分页器
  • Debian/Ubuntu 注意: 命令可能是 batcat 而非 bat
  • 自定义语法: 添加到 ~/.config/bat/syntaxes/ 目录
  • 大文件处理: 对于超大文件,使用 bat --paging=never 或普通 cat

常用参数

  • -p / --plain:纯文本模式(无行号/装饰)
  • -n / --number:仅显示行号
  • -A / --show-all:显示不可打印字符
  • -l / --language:设置语法高亮语言
  • -r / --line-range:仅显示指定行范围

文档资源

GitHub:https://github.com/sharkdp/bat
手册页:man bat
自定义配置:https://github.com/sharkdp/bat#customization

18 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 47 ms
Developed with Cursor