تخطَّ إلى المحتوى

Set default theme

catبديل عصري لـ cat مع تمييز بناء الجملة، ودمج Git، والصفحات التلقائية.

منصةأمر
Ubuntu/Debiansudo apt install bat (binary may be named batcat)
Arch Linuxsudo pacman -S bat
Fedora/RHELsudo dnf install bat
macOS (Homebrew)brew install bat
macOS (MacPorts)sudo port install bat
Windows (Scoop)scoop install bat
Windows (Chocolatey)choco install bat
Windows (Winget)winget install sharkdp.bat
Rust/Cargocargo install --locked bat
Dockerdocker pull danlynn/bat
alias bat='batcat'[Placeholder for alias command]
أمروصف
bat file.txtعرض الملف مع التمييز الصyntaxي وأرقام السطور
bat file1.txt file2.pyعرض ملفات متعددة مع رؤوس
bat -n file.txtإظهار أرقام السطور بشكل صريح (ممكّن افتراضيًا)
bat -p file.txtPlain mode (no decorations, like cat)
bat -pp file.txtوضع سادة إضافي (مخرجات سادة تمامًا)
bat -A file.txtاعرض جميع الأحرف غير القابلة للطباعة (علامات التبويب، المسافات، نهايات السطور)
bat -r 10:20 file.txtعرض نطاق سطور محدد (الأسطر 10-20)
bat -r :50 file.txtعرض أول 50 سطر
bat -r 100: file.txtعرض من السطر 100 حتى النهاية
`echo “text” \bat`
bat --list-languagesأظهر جميع لغات البرمجة المدعومة
bat --list-themesعرض جميع مواضيع الألوان المتاحة
bat -l python file.txtفرض تنسيق لغة/تركيب معين للتظليل
bat --plain file.txtتعطيل التمييز اللغوي
bat --paging=never file.txtتعطيل التمرير التلقائي
أمروصف
bat --theme="Dracula" file.pyاستخدم مجموعة ألوان محددة
bat --diff file.txtعرض تعديلات Git مع التمييز الصوري للصياغة
bat --no-git file.txtتعطيل علامات تكامل Git
bat --tabs=4 file.pyتعيين عرض علامة التبويب المخصص
bat --wrap=never file.txtتعطيل التفاف السطر
bat --terminal-width=80 file.txtفرض عرض محدد للطرفية
bat --style=numbers,changes file.txtاعرض أرقام السطور وتغييرات Git فقط
bat --style=header,grid file.txtاعرض فقط رأس الجدول وفواصل الشبكة
bat --style=plain file.txtإزالة جميع الزخارف
bat --file-name="Custom" file.txtعرض الاسم المخصص في الرأسية
bat --decorations=never file.txtقم بتعطيل جميع الزخارف (حتى عندما تكون مناسبة)
bat --color=always file.txtفرض إخراج الألوان (حتى عند التوجيه)
bat --paging=always file.txtفرض الصفحة حتى للملفات الصغيرة
bat --pager="less -RF" file.txtاستخدم pager مخصص مع خيارات
bat --map-syntax='*.conf:INI' file.confربط امتداد الملف بصيغة محددة
bat --generate-config-fileإنشاء ملف التكوين الافتراضي
bat cache --buildإعادة بناء ذاكرة التخزين المؤقت للصياغة/السمة
bat cache --clearمسح ذاكرة التخزين المؤقت للصياغة/السمة
منصةمسار
Linux/macOS~/.config/bat/config
Windows%APPDATA%\bat\config
~/.config/bat/configأنشئ [ملف التكوين] مع تفضيلاتك:
# Set default theme
--theme="Dracula"

# Always show line numbers and changes
--style="numbers,changes,header,grid"

# Use 4-space tabs
--tabs=4

# Automatic paging
--paging=auto

# Show non-printable characters
--show-all

# Enable italic text (if terminal supports)
--italic-text=always

# Custom syntax mappings
--map-syntax="*.conf:INI"
--map-syntax=".ignore:Git Ignore"
--map-syntax="*.jenkinsfile:Groovy"
--map-syntax="*.log:Log"
--map-syntax=".env:Bash"
```[Placeholder for configuration details]
```bash
# Set default theme
export BAT_THEME="Dracula"

# Set default style components
export BAT_STYLE="numbers,changes,header"

# Set default pager
export BAT_PAGER="less -RF"

# Disable paging entirely
export BAT_PAGER=""

# Custom config directory
export BAT_CONFIG_PATH="/custom/path/to/config"
```[Placeholder for environment variables]
```bash
# Create themes directory
mkdir -p "$(bat --config-dir)/themes"

# Download theme file (.tmTheme format)
cd "$(bat --config-dir)/themes"
wget https://example.com/theme.tmTheme

# Rebuild cache to use new theme
bat cache --build
```[Placeholder for custom themes]

| مكوِّن | وصف |
|-----------|-------------|
| `full` | جميع المكونات (الافتراضي) |
| `auto` | تلقائي بناءً على المخرجات |
| `plain` | لا زخارف |
| `numbers` | أرقام السطور |
| `changes` | علامات تعديل Git |
| `header` | رأس اسم الملف |
| `grid` | فواصل الشبكة |
| `rule` | الخطوط الأفقية |
| `snip` | علامات القطع لنطاقات الأسطر |مكونات النمط المتاحة (مفصولة بفاصلة):
```bash
# View file with Git changes highlighted
bat --diff src/main.py

# Compare with previous commit
git show HEAD~1:config.yaml | bat -l yaml --file-name="Previous Version"

# Review multiple changed files
git diff --name-only | xargs bat --diff
```[Placeholder for Git integration use case]
```bash
# View application logs with syntax highlighting
bat --language=log /var/log/application.log

# View specific error section
bat -r 1000:2000 /var/log/syslog | grep ERROR

# Monitor live logs (disable paging)
tail -f /var/log/app.log | bat --paging=never -l log

# Search logs with context
bat /var/log/nginx/error.log | grep -C 5 "ERROR"
```[Placeholder for log file analysis use case]
```bash
# Review system configurations
bat /etc/nginx/nginx.conf /etc/ssh/sshd_config

# Compare configurations side by side
diff <(bat -p config.prod.yml) <(bat -p config.dev.yml)

# Check for hidden characters in config
bat -A .env

# View Kubernetes resources
kubectl get deployment myapp -o yaml | bat -l yaml
```[Placeholder for configuration file management use case]
```bash
# View Dockerfile with syntax highlighting
bat Dockerfile

# Inspect docker-compose configurations
bat docker-compose.yml docker-compose.override.yml

# View container logs with syntax
docker logs container_name 2>&1 | bat --paging=never -l log

# Display formatted JSON from API
curl -s https://api.github.com/repos/sharkdp/bat | bat -l json
```[Placeholder for Docker and container workflows use case]
```bash
# View shell script with line numbers
bat -n deploy.sh

# Check specific function (lines 45-78)
bat -r 45:78 automation.sh

# Detect problematic characters
bat -A problematic-script.sh

# View multiple related scripts
bat scripts/*.sh
```[Placeholder for script development and debugging use case]
`-p`bat للبرمجة: عند استخدام الأنابيب أو البرمجة، استخدم
`bat -p`[Placeholder for additional scripting recommendation]

Would you like me to clarify or complete any specific sections?`bat --plain`لتجنب الزخارف التي قد تتداخل مع المعالجة
- **ضبط الإعدادات الافتراضية**: قم بإعداد`~/.config/bat/config`مع المظهر والنمط المفضل لديك لتجنب الأعلام المتكررة
- **اختصار لاستبدال cat**: أضف`alias cat='bat --paging=never --style=plain'`إلى تكوين shell الخاص بك للاستبدال السلس
- **الاستفادة من تكامل Git**: استخدم`--diff`عند مراجعة التغييرات في الكود لرؤية التعديلات مضمنة مع تمييز الصياغة
- **تعيين امتدادات مخصصة**: استخدم`--map-syntax`في ملف التكوين لأنواع الملفات الخاصة بالمشروع (مثل`.jenkinsfile`،`.conf`)
- **تعطيل الصفحات للأنابيب**: استخدم دائمًا`--paging=never`عند توجيه المخرجات إلى أوامر أخرى لمنع مشاكل الصفحة التفاعلية
- **استخدام تلميحات اللغة**: للملفات بدون امتدادات، حدد اللغة بشكل صريح باستخدام`-l`للحصول على تمييز صياغة صحيح
- **تناسق المظهر**: اختر مظهرًا يتناسب مع مخطط ألوان الطرفية الخاص بك لقراءة أفضل
- **إدارة الذاكرة المؤقتة**: بعد إضافة مظاهر أو صياغات مخصصة، قم بتشغيل`bat cache --build`لجعلها متاحة

## استكشاف الأخطاء وإصلاحها

| مشكلة | حل |
|-------|----------|
| Binary named `batcat` instead of `bat` | Create alias: `alias bat='batcat'` or symlink: `ln -s /usr/bin/batcat ~/.local/bin/bat` |
| No syntax highlighting | Check language support with `bat --list-languages` and use `-l` to force language |
| Pager interferes with pipes | Use `bat --paging=never` or set `export BAT_PAGER=""` |
| Theme not displaying correctly | Verify terminal supports 256 colors; try different theme with `bat --theme="GitHub"` |
| Custom theme not appearing | Ensure theme file is in `$(bat --config-dir)/themes/` and run `bat cache --build` |
| Line numbers misaligned | Check tab width setting; adjust with `--tabs=4` or in config file |
| Git integration not working | Ensure file is in Git repository; disable with `--no-git` if not needed |
| Config file changes ignored | Verify file location with `bat --config-file`; check for syntax errors in config |
| Performance issues with large files | Use `--paging=never` and pipe to `less`, or use line ranges with `-r` |
| Unicode characters display incorrectly | Ensure terminal uses UTF-8 encoding; check `locale` settings |
## مرجع سريع: الأعلام الشائعة

| قصير | طويل | الغرض |
|-------|------|---------|
| `-p` | `--plain` | وضع الإخراج العادي |
| `-n` | `--number` | إظهار أرقام السطور |
| `-A` | `--show-all` | إظهار الأحرف غير القابلة للطباعة |
| `-l` | `--language` | تعيين لغة بناء الجملة |
| `-r` | `--line-range` | عرض نطاق السطور |
| `-H` | `--highlight-line` | قواعد:
- قم بتمييز سطور محددة |
| `-d` | `--diff` | أظهر Git diff |
|  | `--theme` | تعيين مظهر اللون |
|  | `--style` | تعيين مكونات النمط |
|  | `--paging` | التحكم في سلوك صفحة التمرير |
|  | `--tabs` | تعيين عرض علامة التبويب ||  | `--wrap`| التحكم في التفاف السطر |