名称: 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"}]}}
具备语法高亮、行号显示和 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 修改内容(增删改行)
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=neverbat 会缓存已解析文件以加速后续访问alias cat='bat -p' 可作为直接替代export PAGER="bat" 设为默认分页器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