Ein besonderer Dank geht an unsere größten Sponsoren:
Ihre App, unternehmenstauglich.
Beginnen Sie mit nur wenigen Codezeilen mit dem Verkauf an Unternehmenskunden.
Fügen Sie Single Sign-On (und mehr) in Minuten statt in Monaten hinzu.
Warp, das intelligente Terminal
Führen Sie Befehle wie ein Power-User mit der KI und denen Ihres Entwicklerteams aus
Wissen in einem schnellen, intuitiven Terminal. Für MacOS oder Linux.
bat
unterstützt Syntaxhervorhebung für eine große Anzahl von Programmier- und Auszeichnungssprachen:
bat
kommuniziert mit git
um Änderungen in Bezug auf den Index anzuzeigen (siehe linke Seitenleiste):
Mit der Option -A
/ --show-all
können Sie nicht druckbare Zeichen anzeigen und hervorheben:
Standardmäßig leitet bat
seine eigene Ausgabe an einen Pager (z. B. less
) weiter, wenn die Ausgabe für einen Bildschirm zu groß ist. Wenn Sie lieber ständig wie cat
bat
möchten (keine Seitenausgabe), können Sie --paging=never
als Option festlegen, entweder in der Befehlszeile oder in Ihrer Konfigurationsdatei. Wenn Sie beabsichtigen, in Ihrer Shell-Konfiguration den Alias „ cat
für bat
zu verwenden, können Sie alias cat='bat --paging=never'
verwenden, um das Standardverhalten beizubehalten.
Selbst mit einem Pager-Set können Sie bat
weiterhin zum Verketten von Dateien verwenden. Immer wenn bat
ein nicht interaktives Terminal erkennt (z. B. wenn Sie in einen anderen Prozess oder in eine Datei weiterleiten), fungiert bat
als Ersatz für cat
und druckt den einfachen Dateiinhalt aus, unabhängig von der Option --pager
Wert.
Zeigen Sie eine einzelne Datei auf dem Terminal an
> bat README.md
Mehrere Dateien gleichzeitig anzeigen
> bat src/*.rs
Aus stdin lesen, die Syntax automatisch bestimmen (Hinweis: Die Hervorhebung funktioniert nur, wenn die Syntax aus der ersten Zeile der Datei ermittelt werden kann, normalerweise durch einen Shebang wie #!/bin/sh
)
> curl -s https://sh.rustup.rs | Schläger
Von stdin lesen, die Sprache explizit angeben
> yaml2json .travis.yml | json_pp | bat -l json
Nicht druckbare Zeichen anzeigen und hervorheben:
> bat -A /etc/hosts
Verwenden Sie es als cat
:
bat > note.md # schnell eine neue Datei erstellenbat header.md content.md footer.md > document.md bat -n main.rs # Zeilennummern anzeigen (nur)bat f - g # Ausgabe 'f', dann stdin, dann 'g'.
fzf
Sie können bat
als Vorschau für fzf
verwenden. Verwenden Sie dazu die Option --color=always
von bat
, um eine kolorierte Ausgabe zu erzwingen. Sie können auch die Option --line-range
verwenden, um die Ladezeiten für lange Dateien einzuschränken:
fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"
Weitere Informationen finden Sie in README
von fzf
.
find
oder fd
Sie können die Option -exec
von find
verwenden, um eine Vorschau aller Suchergebnisse mit bat
anzuzeigen:
finde … -exec bat {} +
Wenn Sie fd
verwenden, können Sie die Option -X
/ --exec-batch
verwenden, um dasselbe zu tun:
fd … -X bat
ripgrep
Mit batgrep
kann bat
als Drucker für ripgrep
Suchergebnisse verwendet werden.
Batgrep-Nadel src/
tail -f
bat
kann mit tail -f
kombiniert werden, um eine bestimmte Datei kontinuierlich mit Syntaxhervorhebung zu überwachen.
tail -f /var/log/pacman.log | bat --paging=never -l log
Beachten Sie, dass wir das Paging ausschalten müssen, damit dies funktioniert. Wir haben die Syntax auch explizit angegeben ( -l log
), da sie in diesem Fall nicht automatisch erkannt werden kann.
git
Sie können bat
mit git show
kombinieren, um eine ältere Version einer bestimmten Datei mit korrekter Syntaxhervorhebung anzuzeigen:
git show v0.6.0:src/main.rs | bat -l rs
git diff
Sie können bat
mit git diff
kombinieren, um Zeilen um Codeänderungen mit korrekter Syntaxhervorhebung anzuzeigen:
batdiff() { git diff --name-only --relative --diff-filter=d | xargs bat --diff }
Wenn Sie es lieber als separates Tool verwenden möchten, schauen Sie sich batdiff
in bat-extras
an.
Wenn Sie mehr Unterstützung für Git- und Diff-Operationen suchen, schauen Sie sich delta
an.
xclip
Die Zeilennummern und Git-Änderungsmarkierungen in der Ausgabe von bat
können das Kopieren des Inhalts einer Datei erschweren. Um dies zu verhindern, können Sie bat
mit der Option -p
/ --plain
aufrufen oder die Ausgabe einfach an xclip
weiterleiten:
bat main.cpp | xclip
bat
erkennt, dass die Ausgabe umgeleitet wird, und gibt den einfachen Dateiinhalt aus.
man
bat
kann als kolorierender Pager für man
verwendet werden, indem die Umgebungsvariable MANPAGER
gesetzt wird:
export MANPAGER="sh -c 'col -bx | bat -l man -p'"man 2 select
(ersetzen Sie bat
durch batcat
wenn Sie Debian oder Ubuntu verwenden)
Bei Formatierungsproblemen kann es auch erforderlich sein MANROFFOPT="-c"
festzulegen.
Wenn Sie dies lieber in einem neuen Befehl bündeln möchten, können Sie auch batman
verwenden.
Beachten Sie, dass die Manpage-Syntax in diesem Repository entwickelt wurde und noch einige Arbeit erfordert.
Beachten Sie außerdem, dass dies mit der Mandocs- man
-Implementierung nicht funktioniert.
prettier
/ shfmt
/ rustfmt
Das prettybat
-Skript ist ein Wrapper, der Code formatiert und mit bat
ausgibt.
--help
Nachrichten Sie können bat
verwenden, um Hilfetext einzufärben: $ cp --help | bat -plhelp
Sie können dies auch mit einem Wrapper umgehen:
# in Ihrem .bashrc/.zshrc/*rcalias bathelp='bat --plain --sprache=help'help() {"$@" --help 2>&1 | Badehilfe }
Dann können Sie $ help cp
oder $ help git commit
ausführen.
Wenn Sie zsh
verwenden, können Sie auch globale Aliase verwenden, um -h
und --help
vollständig zu überschreiben:
alias -g -- -h='-h 2>&1 | bat --lingual=help --style=plain'alias -g -- --help='--help 2>&1 | bat --sprache=help --style=plain'
Auf diese Weise können Sie cp --help
weiterhin verwenden, erhalten aber kolorierte Hilfeseiten.
Beachten Sie, dass -h
in einigen Fällen möglicherweise keine Kurzform von --help
ist (z. B. bei ls
).
Bitte melden Sie alle Probleme mit der Hilfesyntax in diesem Repository.
apt
)... und andere Debian-basierte Linux-Distributionen.
bat
ist auf Ubuntu seit 20.04 („Focal“) und Debian seit August 2021 verfügbar (Debian 11 – „Bullseye“).
Wenn Ihre Ubuntu/Debian-Installation neu genug ist, können Sie einfach Folgendes ausführen:
Sudo apt install bat
Wichtig : Wenn Sie bat
auf diese Weise installieren, beachten Sie bitte, dass die ausführbare Datei möglicherweise als batcat
anstelle von bat
installiert wird (aufgrund eines Namenskonflikts mit einem anderen Paket). Sie können einen symbolischen Link oder Alias bat -> batcat
einrichten, um mögliche Probleme zu vermeiden und die Konsistenz mit anderen Distributionen zu gewährleisten:
mkdir -p ~/.local/bin ln -s /usr/bin/batcat ~/.local/bin/bat
.deb
Pakete)... und andere Debian-basierte Linux-Distributionen.
Wenn das Paket noch nicht zu Ihrer Ubuntu/Debian-Installation hochgestuft wurde oder Sie die neueste Version von bat
möchten, laden Sie das neueste .deb
Paket von der Release-Seite herunter und installieren Sie es über:
sudo dpkg -i bat_0.18.3_amd64.deb # Versionsnummer und Architektur anpassen
Sie können das bat
-Paket von den offiziellen Quellen installieren, sofern Sie das entsprechende Repository aktiviert haben:
apk Fledermaus hinzufügen
Sie können das bat
-Paket von den offiziellen Quellen installieren:
Pacman-S Fledermaus
Sie können das bat
-Paket aus dem offiziellen Fedora Modular-Repository installieren.
dnf install bat
Sie können das bat
-Paket über das Dev-Kit installieren.
emerge sys-apps/bat
Sie können das bat
-Paket von den offiziellen Quellen installieren:
emerge sys-apps/bat
Sie können bat
über xbps-install installieren:
xbps-install -S bat
Sie können bat
über pkg installieren:
pkg install bat
Sie können ein vorkompiliertes bat
-Paket mit pkg installieren:
pkg install bat
oder erstellen Sie es selbst aus den FreeBSD-Ports:
cd /usr/ports/textproc/bat make installieren
Sie können bat
-Paket mit pkg_add(1)
installieren:
pkg_add bat
Sie können bat
mit dem Nix-Paketmanager installieren:
nix-env -i bat
Sie können bat
mit Flox installieren
flox install bat
Sie können bat
mit Zypper installieren:
Zypper install bat
Derzeit ist kein empfohlenes Snap-Paket verfügbar. Vorhandene Pakete sind möglicherweise verfügbar, werden jedoch nicht offiziell unterstützt und können Probleme enthalten.
Sie können bat
mit Homebrew installieren:
brew install bat
Oder installieren Sie bat
mit MacPorts:
Port-Installationsbat
Es gibt einige Möglichkeiten, bat
unter Windows zu installieren. Nachdem Sie bat
installiert haben, werfen Sie einen Blick auf den Abschnitt „Verwenden von bat
unter Windows“.
Sie müssen das Visual C++ Redistributable-Paket installieren.
Sie können bat
über WinGet installieren:
Winget installiert sharkdp.bat
Sie können bat
über Chocolatey installieren:
choco install bat
Sie können bat
per Scoop installieren:
Schaufel installieren Fledermaus
Sie können vorgefertigte Binärdateien von der Release-Seite herunterladen.
Sie müssen das Visual C++ Redistributable-Paket installieren.
Auf der Release-Seite finden Sie vorgefertigte Versionen von bat
für viele verschiedene Architekturen. Es sind auch statisch verknüpfte Binärdateien verfügbar: Suchen Sie nach Archiven mit musl
im Dateinamen.
Wenn Sie bat
aus dem Quellcode erstellen möchten, benötigen Sie Rust 1.70.0 oder höher. Anschließend können Sie cargo
alles bauen:
Ladung installieren --locked bat
Beachten Sie, dass zusätzliche Dateien wie die Manpage oder Shell-Vervollständigungsdateien auf diese Weise nicht installiert werden können. Sie werden von cargo
generiert und sollten im Cargo-Zielordner (unter build
) verfügbar sein.
Verwenden Sie bat --list-themes
, um eine Liste aller verfügbaren Themen für die Syntaxhervorhebung zu erhalten. Um das TwoDark
-Design auszuwählen, rufen Sie bat
mit der Option --theme=TwoDark
auf oder setzen Sie die Umgebungsvariable BAT_THEME
auf TwoDark
. Verwenden Sie export BAT_THEME="TwoDark"
in der Startdatei Ihrer Shell, um die Änderung dauerhaft zu machen. Alternativ können Sie die Konfigurationsdatei von bat
verwenden.
Wenn Sie eine Vorschau der verschiedenen Designs in einer benutzerdefinierten Datei anzeigen möchten, können Sie den folgenden Befehl verwenden (dafür benötigen Sie fzf
):
bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file"
bat
wählt abhängig von der Hintergrundfarbe Ihres Terminals automatisch ein passendes Thema aus. Sie können die Optionen --theme-light
/ --theme-light
oder die Umgebungsvariablen BAT_THEME_DARK
/ BAT_THEME_LIGHT
verwenden, um die verwendeten Themen anzupassen. Dies ist besonders nützlich, wenn Sie häufig zwischen dem dunklen und hellen Modus wechseln.
Sie können auch ein benutzerdefiniertes Design verwenden, indem Sie den Abschnitt „Neue Designs hinzufügen“ unten befolgen.
bat
verfügt über drei Themes, die immer 8-Bit-Farben verwenden, auch wenn Truecolor-Unterstützung verfügbar ist:
ansi
sieht auf jedem Terminal gut aus. Es verwendet 3-Bit-Farben: Schwarz, Rot, Grün, Gelb, Blau, Magenta, Cyan und Weiß.
base16
ist für base16-Terminalthemen konzipiert. Es verwendet 4-Bit-Farben (3-Bit-Farben plus helle Varianten) gemäß den Base16-Stilrichtlinien.
base16-256
ist für base16-shell konzipiert. Es ersetzt bestimmte helle Farben durch 8-Bit-Farben von 16 bis 21. Verwenden Sie dies nicht , nur weil Sie ein 256-Farben-Terminal haben, aber keine Base16-Shell verwenden.
Obwohl diese Themen eingeschränkter sind, haben sie gegenüber Truecolor-Themen drei Vorteile. Sie:
Genießen Sie maximale Kompatibilität. Einige Terminal-Dienstprogramme unterstützen nicht mehr als 3-Bit-Farben.
Passen Sie sich den Änderungen des Terminal-Designs an. Auch für bereits gedruckte Ausgaben.
Optisch besser mit anderer Terminalsoftware harmonieren.
Sie können die Option --style
verwenden, um das Erscheinungsbild der bat
-Ausgabe zu steuern. Sie können beispielsweise --style=numbers,changes
verwenden, um nur Git-Änderungen und Zeilennummern, aber kein Raster und keinen Dateikopf anzuzeigen. Legen Sie die Umgebungsvariable BAT_STYLE
fest, um diese Änderungen dauerhaft zu machen, oder verwenden Sie die Konfigurationsdatei von bat
.
Tipp
Wenn Sie in der Konfigurationsdatei von bat
einen Standardstil angeben, können Sie mit dem Befehlszeilenargument --style
ändern, welche Komponenten während einer einzelnen Ausführung von bat
angezeigt werden. Indem einer Komponente ein +
oder -
vorangestellt wird, kann sie zum aktuellen Stil hinzugefügt oder daraus entfernt werden.
Wenn Ihre Konfiguration beispielsweise --style=full,-snip
enthält, können Sie bat mit --style=-grid,+snip
ausführen, um das Raster zu entfernen und die snip
Komponente wieder hinzuzufügen. Oder wenn Sie die Stile vollständig überschreiben möchten, verwenden Sie --style=numbers
um nur die Zeilennummern anzuzeigen.
Sollten Sie feststellen, dass eine bestimmte Syntax in bat
nicht verfügbar ist, können Sie diese Anweisungen befolgen, um ganz einfach neue Syntaxen zu Ihrer aktuellen bat
-Installation hinzuzufügen.
bat
verwendet die hervorragende syntect
Bibliothek zur Syntaxhervorhebung. syntect
kann jede Sublime Text .sublime-syntax
Datei und jedes Sublime-Theme lesen.
Eine gute Ressource zum Auffinden von Sublime-Syntax-Paketen ist Package Control. Sobald Sie eine Syntax gefunden haben:
Erstellen Sie einen Ordner mit Syntaxdefinitionsdateien:
mkdir -p "$(bat --config-dir)/syntaxes"cd "$(bat --config-dir)/syntaxes"# Neue '.sublime-syntax'-Sprachdefinitionsdateien# in diesen Ordner (oder seine Unterverzeichnisse) einfügen ), zum Beispiel:git clone https://github.com/tellnobody1/sublime-purescript-syntax
Verwenden Sie nun den folgenden Befehl, um diese Dateien in einen Binärcache zu parsen:
Fledermaus-Cache --build
Verwenden Sie abschließend bat --list-languages
, um zu überprüfen, ob die neuen Sprachen verfügbar sind.
Wenn Sie jemals zu den Standardeinstellungen zurückkehren möchten, rufen Sie an:
Fledermaus-Cache --clear
Wenn Sie der Meinung sind, dass eine bestimmte Syntax standardmäßig in bat
enthalten sein sollte, ziehen Sie bitte die Eröffnung eines „Syntax Request“-Tickets in Betracht, nachdem Sie die Richtlinien und Anweisungen hier gelesen haben: Open Syntax Request.
Dies funktioniert sehr ähnlich wie das Hinzufügen neuer Syntaxdefinitionen.
Erstellen Sie zunächst einen Ordner mit den neuen Syntaxhervorhebungsthemen:
mkdir -p "$(bat --config-dir)/themes"cd "$(bat --config-dir)/themes"# Laden Sie ein Thema im Format „.tmTheme“ herunter, zum Beispiel:git clone https:// github.com/greggb/sublime-snazzy# Aktualisieren Sie den Binär-Cachebat-Cache --build
Verwenden Sie abschließend bat --list-themes
, um zu überprüfen, ob die neuen Themes verfügbar sind.
Mit der Befehlszeilenoption --map-syntax
können Sie neue Dateinamenmuster hinzufügen (oder vorhandene ändern). Die Option akzeptiert ein Argument der Form pattern:syntax
, wobei pattern
ein Glob-Muster ist, das mit dem Dateinamen und dem absoluten Dateipfad abgeglichen wird. Der syntax
ist der vollständige Name einer unterstützten Sprache (verwenden Sie bat --list-languages
für eine Übersicht).
Hinweis: Sie möchten diese Option wahrscheinlich als Eintrag in der Konfigurationsdatei von bat
für die Persistenz verwenden, anstatt sie einmalig in der Befehlszeile zu übergeben. Im Allgemeinen verwenden Sie einfach -l
, wenn Sie manuell eine Sprache für eine Datei angeben möchten.
Beispiel: Um die „INI“-Syntaxhervorhebung für alle Dateien mit der Dateierweiterung .conf
zu verwenden, verwenden Sie
--map-syntax='*.conf:INI'
Beispiel: Um alle Dateien mit dem Namen .ignore
(genaue Übereinstimmung) mit der Syntax „Git Ignore“ zu öffnen, verwenden Sie:
--map-syntax='.ignore:Git Ignore'
Beispiel: Um alle .conf
Dateien in Unterordnern von /etc/apache2
mit der „Apache Conf“-Syntax zu öffnen, verwenden Sie (diese Zuordnung ist bereits integriert):
--map-syntax='/etc/apache2/**/*.conf:Apache Conf'
bat
verwendet den Pager, der in der Umgebungsvariablen PAGER
angegeben ist. Wenn diese Variable nicht gesetzt ist, wird standardmäßig less
verwendet. Wenn Sie einen anderen Pager verwenden möchten, können Sie entweder die Variable PAGER
ändern oder die Umgebungsvariable BAT_PAGER
so festlegen, dass sie die in PAGER
angegebenen Werte überschreibt.
Notiz
Wenn PAGER
more
oder most
ist, verwendet bat
stattdessen stillschweigend less
, um die Unterstützung für Farben sicherzustellen.
Wenn Sie Befehlszeilenargumente an den Pager übergeben möchten, können Sie diese auch über die Variablen PAGER
/ BAT_PAGER
festlegen:
export BAT_PAGER="less -RF"
Anstatt Umgebungsvariablen zu verwenden, können Sie auch die Konfigurationsdatei von bat
verwenden, um den Pager zu konfigurieren (Option --pager
).
less
als Pager Wenn Sie less
als Pager verwenden, gibt bat
automatisch zusätzliche Optionen an less
weiter, um das Erlebnis zu verbessern. Insbesondere -R
/ --RAW-CONTROL-CHARS
, -F
/ --quit-if-one-screen
und unter bestimmten Bedingungen -X
/ --no-init
und/oder -S
/ --chop-long-lines
.
Wichtig
Diese Optionen werden nicht hinzugefügt, wenn:
Der Pager wird nicht less
genannt.
Das Argument --pager
enthält alle Befehlszeilenargumente (z. B. --pager="less -R"
).
Die Umgebungsvariable BAT_PAGER
enthält alle Befehlszeilenargumente (z. B. export BAT_PAGER="less -R"
).
Die Option --quit-if-one-screen
wird nicht hinzugefügt, wenn:
Das Argument --paging=always
wird verwendet.
Die BAT_PAGING
Umgebung ist auf always
eingestellt.
Die Option -R
ist erforderlich, um ANSI-Farben korrekt zu interpretieren.
Die Option -F
weist less
an, sofort zu beenden, wenn die Ausgabegröße kleiner als die vertikale Größe des Terminals ist. Dies ist praktisch für kleine Dateien, da Sie nicht q
drücken müssen, um den Pager zu beenden.
Die Option -X
wird benötigt, um einen Fehler mit der Funktion --quit-if-one-screen
in Versionen less
Version 530 zu beheben. Leider wird dadurch auch die Mausradunterstützung in less
unterbrochen. Wenn Sie das Scrollen mit dem Mausrad in älteren Versionen von less
aktivieren möchten und es Ihnen nichts ausmacht, die Funktion „Quit-if-one-screen“ zu verlieren, können Sie den Pager (über --pager
oder BAT_PAGER
) auf less -R
setzen. Für less
530 oder neuer sollte es sofort funktionieren.
Die Option -S
wird hinzugefügt, wenn die Option -S
/ --chop-long-lines
von bat
verwendet wird. Dadurch wird less
angewiesen, alle Zeilen abzuschneiden, die größer als die Terminalbreite sind.
bat
erweitert Tabs selbstständig auf 4 Leerzeichen, ohne sich auf den Pager zu verlassen. Um dies zu ändern, fügen Sie einfach das Argument --tabs
mit der Anzahl der Leerzeichen hinzu, die angezeigt werden sollen.
Hinweis : Das Definieren von Tabstopps für den Pager (über das Argument --pager
von bat
oder über die Umgebungsvariable LESS
für less
) wird nicht berücksichtigt, da der Pager bereits erweiterte Leerzeichen anstelle von Tabulatoren erhält. Dieses Verhalten wurde hinzugefügt, um Einrückungsprobleme zu vermeiden, die durch die Seitenleiste verursacht werden. Wenn Sie bat
mit --tabs=0
aufrufen, wird es überschrieben und Tabs werden vom Pager verwendet.
Wenn Sie die Dunkelmodus-Funktion in macOS nutzen, möchten Sie bat
möglicherweise so konfigurieren, dass es ein anderes Design basierend auf dem Betriebssystemdesign verwendet. Das folgende Snippet verwendet im dunklen Modus das default
und im hellen Modus das GitHub
Design.
alias cat="bat --theme=$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)"
bat
kann auch mit einer Konfigurationsdatei angepasst werden. Der Speicherort der Datei hängt von Ihrem Betriebssystem ab. Um den Standardpfad für Ihr System zu erhalten, rufen Sie an
bat --config-datei
Alternativ können Sie die Umgebungsvariablen BAT_CONFIG_PATH
oder BAT_CONFIG_DIR
verwenden, um bat
auf einen nicht standardmäßigen Speicherort der Konfigurationsdatei bzw. des Konfigurationsverzeichnisses zu verweisen:
export BAT_CONFIG_PATH="/path/to/bat/bat.conf"export BAT_CONFIG_DIR="/path/to/bat"
Eine Standardkonfigurationsdatei kann mit der Option --generate-config-file
erstellt werden.
bat --generate-config-file
Es gibt jetzt auch eine systemweite Konfigurationsdatei, die sich unter /etc/bat/config
unter Linux und Mac OS und unter C:ProgramDatabatconfig
unter Windows befindet. Wenn die systemweite Konfigurationsdatei vorhanden ist, wird der Inhalt der Benutzerkonfiguration einfach an diese angehängt.
Die Konfigurationsdatei ist eine einfache Liste von Befehlszeilenargumenten. Verwenden Sie bat --help
um eine vollständige Liste möglicher Optionen und Werte anzuzeigen. Darüber hinaus können Sie Kommentare hinzufügen, indem Sie einer Zeile das Zeichen #
voranstellen.
Beispielkonfigurationsdatei:
# Stellen Sie das Design auf „TwoDark“ ein – theme = „TwoDark“ wird auf allen Terminals unterstützt)--italic-text=always# C++-Syntax für Arduino-.ino-Dateien verwenden--map-syntax "*.ino:C++"
bat
unter Windows bat
funktioniert größtenteils sofort unter Windows, einige Funktionen erfordern jedoch möglicherweise eine zusätzliche Konfiguration.
Sie müssen das Visual C++ Redistributable-Paket installieren.
Windows bietet nur einen sehr begrenzten Pager in Form von more
. Sie können eine Windows-Binärdatei less
von der Homepage oder über Chocolatey herunterladen. Um es zu verwenden, platzieren Sie die Binärdatei in einem Verzeichnis in Ihrem PATH
oder definieren Sie eine Umgebungsvariable. Das Chocolatey-Paket wird less
automatisch installiert.
Windows 10 unterstützt nativ Farben sowohl in conhost.exe
(Eingabeaufforderung) als auch in PowerShell seit v1511 sowie in neueren Versionen von Bash. In früheren Windows-Versionen können Sie Cmder verwenden, der ConEmu enthält.
Hinweis: Alte Versionen von less
interpretieren Farben unter Windows nicht richtig. Um dies zu beheben, können Sie bei der Installation von Git die optionalen Unix-Tools zu Ihrem PATH hinzufügen. Wenn Sie keine anderen Pager installiert haben, können Sie das Paging vollständig deaktivieren, indem Sie --paging=never
übergeben oder BAT_PAGER
auf eine leere Zeichenfolge setzen.
bat
unter Windows unterstützt Cygwins Pfade im Unix-Stil ( /cygdrive/*
) nicht nativ. Wenn ein absoluter Cygwin-Pfad als Argument übergeben wird, tritt bat
die folgende Fehlermeldung auf: The system cannot find the path specified. (os error 3)
Dies kann gelöst werden, indem Sie einen Wrapper erstellen oder die folgende Funktion zu Ihrer .bash_profile
Datei hinzufügen:
bat() {local indexlocal args=("$@")für Index in $(seq 0 ${#args[@]}) ; docase "${args[index]}" in-*) continue;;*) [ -e "${args[index]}" ] && args[index]="$(cygpath --windows "${args[ index]}")";;esacdonecommand bat "${args[@]}"}
Wenn eine Eingabedatei Farbcodes oder andere ANSI-Escape-Sequenzen oder Steuerzeichen enthält, hat bat
Probleme bei der Syntaxhervorhebung und dem Textumbruch, sodass die Ausgabe verstümmelt werden kann.
Wenn Ihre bat
-Version die Option --strip-ansi=auto
unterstützt, können Sie damit solche Sequenzen vor der Syntaxhervorhebung entfernen. Alternativ können Sie sowohl die Syntaxhervorhebung als auch den Umbruch deaktivieren, indem Sie die Optionen --color=never --wrap=never
an bat
übergeben.
Notiz
Die auto
Option von --strip-ansi
vermeidet das Entfernen von Escape-Sequenzen, wenn die Syntax Klartext ist.
bat
verarbeitet Terminals mit und ohne Truecolor-Unterstützung. Allerdings sind die Farben in den meisten Syntaxhervorhebungsthemen nicht für 8-Bit-Farben optimiert. Es wird daher dringend empfohlen, ein Terminal mit 24-Bit-TrueColor-Unterstützung ( terminator
, konsole
, iTerm2
, ...) zu verwenden oder eines der grundlegenden 8-Bit-Designs zu verwenden, die für einen eingeschränkten Farbsatz entwickelt wurden. Weitere Einzelheiten und eine vollständige Liste der Terminals mit Truecolor-Unterstützung finden Sie in diesem Artikel.
Stellen Sie sicher, dass Ihr Truecolor-Terminal die Variable COLORTERM
entweder auf truecolor
oder 24bit
setzt. Andernfalls kann bat
nicht feststellen, ob 24-Bit-Escape-Sequenzen unterstützt werden (und auf 8-Bit-Farben zurückgreifen).
Bitte versuchen Sie es mit einem anderen Theme (eine Liste finden Sie unter bat --list-themes
). Die Designs OneHalfDark
und OneHalfLight
bieten hellere Raster- und Linienfarben.
bat
unterstützt nativ sowohl UTF-8 als auch UTF-16. Für jede andere Dateikodierung müssen Sie möglicherweise zuerst in UTF-8 konvertieren, da die Kodierungen normalerweise nicht automatisch erkannt werden können. Sie können dazu iconv
verwenden. Beispiel: Wenn Sie eine PHP-Datei in der Codierung Latin-1 (ISO-8859-1) haben, können Sie Folgendes aufrufen:
iconv -f ISO-8859-1 -t UTF-8 meine-datei.php | Schläger
Hinweis: Möglicherweise müssen Sie die Option -l
/ --language
verwenden, wenn die Syntax von bat
nicht automatisch erkannt werden kann.
# Rekursiver Klon zum Abrufen aller Submodulegit clone --recursive https://github.com/sharkdp/bat# Build (Debug-Version)cd bat cargo build --bins# Unit-Tests und Integrationstests ausführencargo test# Install (Release-Version)cargo install --path . --locked# Erstellen Sie eine Bat-Binärdatei mit geänderter Syntax und Themesbash-Assets/create.sh Frachtinstallation --path . --locked --force
Wenn Sie eine Anwendung erstellen möchten, die die Pretty-Printing-Funktionen von bat
als Bibliothek nutzt, schauen Sie sich die API-Dokumentation an. Beachten Sie, dass Sie entweder regex-onig
oder regex-fancy
als Funktion verwenden müssen, wenn Sie auf bat
als Bibliothek angewiesen sind.
Schauen Sie sich den Leitfaden CONTRIBUTING.md
an.
sharkdp
eth-p
Keith-Hall
Enselisch
Bitte kontaktieren Sie David Peter per E-Mail, wenn Sie eine Schwachstelle in bat
melden möchten.
bat
versucht folgende Ziele zu erreichen:
Bieten Sie eine schöne, erweiterte Syntaxhervorhebung
Integrieren Sie Git, um Dateiänderungen anzuzeigen
Seien Sie ein direkter Ersatz für (POSIX) cat
Bieten Sie eine benutzerfreundliche Befehlszeilenschnittstelle
Es gibt viele Alternativen, wenn Sie nach ähnlichen Programmen suchen. Einen Vergleich finden Sie in diesem Dokument.
Copyright (c) 2018-2023 bat-developers.
bat
wird nach Ihrer Wahl entweder unter den Bedingungen der MIT-Lizenz oder der Apache-Lizenz 2.0 zur Verfügung gestellt.
Lizenzdetails finden Sie in den Dateien LICENSE-APACHE und LICENSE-MIT.