bat - Better cat
SkillDev toolsA cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the bat - Better cat skill
What this skill tells your AI
The instructions your AI receives, as published by aaaaqwq/agi-super-team in skills/bat-cat/SKILL.md and read by ahel’s review.
cat with syntax highlighting, line numbers, and Git integration.
Quick Start
Basic usage
# View file with syntax highlighting
bat README.md
# Multiple files
bat file1.js file2.py
# With line numbers (default)
bat script.sh
# Without line numbers
bat -p script.sh
Viewing modes
# Plain mode (like cat)
bat -p file.txt
# Show non-printable characters
bat -A file.txt
# Squeeze blank lines
bat -s file.txt
# Paging (auto for large files)
bat --paging=always file.txt
bat --paging=never file.txt
Syntax Highlighting
Language detection
# Auto-detect from extension
bat script.py
# Force specific language
bat -l javascript config.txt
# Show all languages
bat --list-languages
Themes
# List available themes
bat --list-themes
# Use specific theme
bat --theme="Monokai Extended" file.py
# Set default theme in config
# ~/.config/bat/config: --theme="Dracula"
Line Ranges
# Show specific lines
bat -r 10:20 file.txt
# From line to end
bat -r 100: file.txt
# Start to specific line
bat -r :50 file.txt
# Multiple ranges
bat -r 1:10 -r 50:60 file.txt
Git Integration
# Show Git modifications (added/removed/modified lines)
bat --diff file.txt
# Show decorations (Git + file header)
bat --decorations=always file.txt
Output Control
# Output raw (no styling)
bat --style=plain file.txt
# Customize style
bat --style=numbers,changes file.txt
# Available styles: auto, full, plain, changes, header, grid, numbers, snip
bat --style=header,grid,numbers file.txt
Common Use Cases
Quick file preview:
bat file.json
View logs with syntax highlighting:
bat error.log
Compare files visually:
bat --diff file1.txt
bat file2.txt
Preview before editing:
bat config.yaml && vim config.yaml
Cat replacement in pipes:
bat -p file.txt | grep "pattern"
View specific function:
bat -r 45:67 script.py # If function is on lines 45-67
Integration with other tools
As pager for man pages:
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man grep
With ripgrep:
rg "pattern" -l | xargs bat
With fzf:
fzf --preview 'bat --color=always --style=numbers {}'
With diff:
diff -u file1 file2 | bat -l diff
Configuration
Create ~/.config/bat/config for defaults:
# Set theme
--theme="Dracula"
# Show line numbers, Git modifications and file header, but no grid
--style="numbers,changes,header"
# Use italic text on terminal
--italic-text=always
# Add custom mapping
--map-syntax "*.conf:INI"
Performance Tips
- Use
-pfor plain mode when piping - Use
--paging=neverwhen output is used programmatically batcaches parsed files for faster subsequent access
Tips
- Alias:
alias cat='bat -p'for drop-in cat replacement - Pager: Use as pager with
export PAGER="bat" - On Debian/Ubuntu: Command may be
batcatinstead ofbat - Custom syntaxes: Add to
~/.config/bat/syntaxes/ - Performance: For huge files, use
bat --paging=neveror plaincat
Common flags
-p/--plain: Plain mode (no line numbers/decorations)-n/--number: Only show line numbers-A/--show-all: Show non-printable characters-l/--language: Set language for syntax highlighting-r/--line-range: Only show specific line range(s)
Documentation
GitHub: https://github.com/sharkdp/bat
Man page: man bat
Customization: https://github.com/sharkdp/bat#customization
Signals
- GitHub stars
- 92
- Forks
- 23
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
bat-cat- Source
- github.com/aaaaqwq/agi-super-team