L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

bat-cat

bat-cat

A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: bat-cat description: A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat. homepage: https://github.com/sharkdp/bat metadata: {"clawdbot":{"emoji":"🦇","requires":{"bins":["bat"]},"install":[{"id":"brew","kind":"brew","formula":"bat","bins":["bat"],"label":"Install bat (brew)"},{"id":"apt","kind":"apt","package":"bat","bins":["bat"],"label":"Install bat (apt)"}]}}

bat - Better cat

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 -p for plain mode when piping
  • Use --paging=never when output is used programmatically
  • bat caches 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 batcat instead of bat
  • Custom syntaxes: Add to ~/.config/bat/syntaxes/
  • Performance: For huge files, use bat --paging=never or plain cat

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

Skills enregistrées