3 Punkte von GN⁺ 2024-11-09 | 1 Kommentare | Auf WhatsApp teilen

Erste Schritte

  • Der Paketname ist "git-delta", und die ausführbare Datei heißt delta.
  • Die Konfiguration kann durch Hinzufügen des Folgenden zu ~/.gitconfig erfolgen:
    [core]
    pager = delta
    [interactive]
    diffFilter = delta --color-only
    [delta]
    navigate = true  # n und N zum Wechseln zwischen diff-Abschnitten verwenden
    [merge]
    conflictstyle = zdiff3
    
  • Delta bietet viele Funktionen und kann angepasst werden. Siehe Benutzerhandbuch.

Funktionen

  • Syntaxhervorhebung für Sprachen: Kann dieselben Syntaxhervorhebungs-Themes wie bat verwenden.
  • Hervorhebung von Unterschieden auf Wortebene: Verwendet den Levenshtein-Algorithmus zur Editierdistanz-Schätzung.
  • Nebeneinander-Ansicht: Einschließlich Zeilenumbruch.
  • Anzeige von Zeilennummern.
  • Navigation zwischen Dateien: In großen Diffs kann mit den Tasten n und N zwischen Dateien gewechselt werden.
  • Verbesserte Anzeige von Merge-Konflikten.
  • Verbesserte git-blame-Anzeige: Mit Syntaxhervorhebung und der Möglichkeit, Commits als Links zu Hosting-Anbietern zu formatieren.
  • Syntaxhervorhebung für grep-Ausgaben: Unterstützt rg, git grep, grep usw.
  • Unterstützung für Gits Funktion --color-moved.
  • Code kann kopiert werden: Entfernt standardmäßig die Marker -/+.
  • Emulationsmodi für diff-highlight und diff-so-fancy.
  • Commit-Hashes können als Terminal-Hyperlinks formatiert werden.
  • Stilisierbare Box-/Linien-Dekorationen: Hebt Commit-, Datei- und Chunk-Header-Bereiche hervor.
  • Unterstützung für Stil-Strings: Vordergrundfarbe, Hintergrundfarbe und Schriftattribute für mehr als 20 Stilelemente.
  • Verarbeitung traditioneller Unified-Diff-Ausgaben und Git-Ausgaben.
  • Automatische Erkennung heller/dunkler Terminal-Hintergründe.

Syntaxhervorhebender Pager für Git-, diff- und grep-Ausgaben

  • Delta hilft dabei, Änderungen im Code effizient und angenehm zu analysieren.
  • Layout und Stil können umfassend verändert werden und dennoch nah an der Standardausgabe von git/diff bleiben.

Syntaxhervorhebungs-Themes

  • Kann dieselben Syntaxhervorhebungs-Farbthemes wie bat verwenden:
    • delta --show-syntax-themes --dark
    • delta --show-syntax-themes --light

Nebeneinander-Ansicht

  • Standardmäßig sind in der Nebeneinander-Ansicht Zeilennummern aktiviert, und sowohl im linken als auch im rechten Bereich wird Syntaxhervorhebung angewendet.

Zeilennummern

  • In der delta-Konfiguration können Zeilennummern aktiviert werden.

Merge-Konflikte

  • Siehe Benutzerhandbuch, um Merge-Konflikte zu behandeln.

Git blame

  • Siehe Benutzerhandbuch, um git blame zu verbessern.

Ripgrep, git grep

  • Siehe Benutzerhandbuch, um die Ausgaben von ripgrep und git grep mit Syntaxhervorhebung zu versehen.

Installation und Verwendung

  • Siehe Benutzerhandbuch und delta --help.

Maintainer

  • @dandavison
  • @th1000s

1 Kommentare

 
GN⁺ 2024-11-09
Hacker-News-Kommentare
  • Delta ist so ein Tool, das man einmal einrichtet und dann vergisst; es wird oft anstelle der Ausgabe von git grep/diff/blame verwendet. Ich habe außerdem festgestellt, dass es auch mit ripgrep funktioniert.
    • bat ist ähnlich ein Tool, das man einmal konfiguriert und dann vergisst; ich nutze einen Alias von cat auf bat.
  • Auch mit dem Standard-git lässt sich ein brauchbares wortweises Diff erhalten.
    • Verwendung des Befehls git diff --color-words --word-diff-regex='\w+|.'
  • Delta ist nützlich, hatte aber das Problem, lange Zeilen abzuschneiden. Dieses Problem lässt sich mit der Einstellung git config --global --replace-all delta.max-line-length 0 beheben.
    • Warum das nicht die Standardeinstellung ist, ist unklar.
  • Ich nutze eine Kombination aus Delta und difftastic; besonders difftastic ist für die Tree-sitter-AST-Syntax nützlich.
    • Delta ist aufgeräumt und sehr schnell.
  • Was mich von Delta abhält, ist die fehlende Erkennung des „System“-Themes. Wenn das Theme nicht zur Shell passt, ist es schwer lesbar.
  • Ich habe auch das normale git diff mit Farben verwendet, aber Delta ist mir zu komplex.
  • Ich nutze sowohl Delta als auch difftastic und kann beide sehr empfehlen.
    • Wer das Terminal nutzt, sollte sie unbedingt ausprobieren.
  • Ich mag bat und finde gut, dass es mit Delta verbunden ist.
  • Ich liebe Delta; ich nutze es nicht immer, aber meistens. Ich würde jedem empfehlen, es auszuprobieren.
  • Anscheinend hat der Autor auch die magit-Integration geschrieben.
    • Es wird um Meinungen zu Nutzerfeedback gebeten, etwa zur Performance.