Kommandozeile & git difftool¶
OctoEdit hat eine kleine, skriptfreundliche Kommandozeilen-Oberfläche: Dateien
öffnen (mit optionaler Cursorposition), einen Lauf mit wenigen Optionen
anpassen und — als Hauptattraktion — als schneller
Zwei-Dateien-Vergleichsbetrachter für git difftool dienen.
Pfade dürfen relativ oder absolut sein. Aus einer Konsole gestartet, geben
--help/--version dort aus; anders gestartet, erscheinen sie stattdessen in
einem kleinen Dialog.
Dateien öffnen¶
- Jede Datei öffnet sich in ihrem eigenen Tab. Ein noch nicht existierender Pfad öffnet sich als neuer, ungespeicherter Puffer mit diesem Namen (das Speichern erzeugt die Datei).
- Ein angehängtes
:Zeileoder:Zeile:Spaltean der ersten Datei setzt den Cursor (1-basiert, auf das Dokument begrenzt) — praktisch aus Compiler- und grep-Ausgaben:
- Mit aktivierter Einzelinstanz (Standard) reicht ein zweiter Start seine Dateien an das laufende Fenster weiter und beendet sich.
Optionen¶
| Option | Bedeutung |
|---|---|
-h, --help |
Aufruf ausgeben und beenden. |
-v, --version |
Anwendungsversion ausgeben und beenden. |
--log <stufe> |
Minimale Protokollstufe für diesen Lauf: trace, debug, info, warning oder error. |
--list-debug-flags |
Die erkannten Debug-Flags mit aktuellen Werten auflisten und beenden. |
--diff <links> <rechts> |
Zwei Dateien in einem flüchtigen Nur-Lese-Betrachter vergleichen (impliziert --viewer). |
--viewer |
Flüchtige Nur-Lese-Betrachterinstanz (siehe unten). |
--readonly |
Die gelisteten Dateien schreibgeschützt öffnen (siehe unten). |
--readonly: bestimmte Dateien gesperrt öffnen¶
Öffnet die gelisteten Dateien mit deaktivierter Bearbeitung — die
verändernden Befehle (Ausschneiden, Einfügen, Rückgängig…) sind für diese
Tabs ausgegraut, Kopieren funktioniert weiter. Anders als --viewer ist dies
eine normale Editor-Instanz: Ihre Sitzung wird wiederhergestellt, Sie
können jedes andere Dokument öffnen und bearbeiten, und ein zweiter
--readonly-Start reicht seine Dateien ebenfalls gesperrt in das laufende
Fenster weiter. Zwei Leitplanken: Eine gelistete Datei, die bereits mit
ungespeicherten Änderungen geöffnet ist, bleibt bearbeitbar (das Flag sperrt
nie Änderungen ein, die Sie nicht mehr speichern könnten), und ein noch nicht
existierender gelisteter Pfad öffnet sich als gesperrter leerer Puffer.
--diff: ein Zwei-Dateien-Vergleichsfenster¶
Öffnet ein separates Wegwerf-Fenster, dessen einziger Tab der Seite-an-Seite-Vergleich der beiden Dateien ist — syntaxgefärbt, schreibgeschützt, mit dem vollen Vergleichswerkzeugkasten: Differenz-Navigation, Übersichtsleiste, Leerraum/Groß-Kleinschreibung- ignorieren und „Ausgerichtet“-Schalter sowie Änderungs-Kopieren mit Speichern pro Seite (beide Operanden sind echte Dateien, also funktionieren beide Richtungen).
- Erforderlich sind genau zwei existierende Dateien. Eine fehlende Datei
oder ein Verzeichnis wird gemeldet, und der Prozess endet mit Code
2, ohne ein Editorfenster zu öffnen (Verzeichnisvergleich lebt im Ordnervergleich-Plugin). - Der Prozess lebt, bis Sie das Fenster schließen, und endet dann mit
0— genau darauf wartetgit difftool. - Das Fenster ist unabhängig von Ihrem normalen OctoEdit: Es tritt nie dem
Einzelinstanz-Mechanismus bei, lädt keine Plugins und speichert nichts
(keine Sitzung, kein Layout, keine Zuletzt-geöffnet-Einträge). Ihr Editor
und seine Sitzung bleiben unberührt, und beliebig viele
--diff-Fenster können daneben existieren. - Der KI-Assistent bleibt verfügbar — er gehört zum Kern. Eine Frage dort teilt dem Agenten automatisch mit, welche zwei Dateien auf dem Bildschirm sind (und gewährt Lesezugriff auf beide), sodass „Was hat sich zwischen diesen Dateien geändert?“ einfach funktioniert.
Als Ihr git difftool einrichten¶
# .gitconfig
[diff]
tool = octoedit
[difftool]
prompt = false
[difftool "octoedit"]
cmd = OctoEdit --diff "$LOCAL" "$REMOTE"
Dann zum Beispiel:
Tip
Stellen Sie sicher, dass OctoEdit.exe im PATH liegt, oder tragen Sie
den vollen Pfad in die cmd =-Zeile ein.
--viewer: ein Wegwerf-Nur-Lese-Betrachter¶
Eine flüchtige Instanz für einen schnellen Blick in eine Datei, ohne Ihre
echte Bearbeitungssitzung zu stören (durch --diff impliziert):
- Die auf der Kommandozeile angegebenen Dateien öffnen sich normal — danach ist die Instanz gesperrt: Die Puffer sind schreibgeschützt, Datei ▸ Neu/Öffnen/Speichern und alle Vergleichsbefehle sind deaktiviert, und nichts kann einen weiteren Tab öffnen.
- Das Schließen des letzten Tabs schließt das Fenster.
- Nichts bleibt bestehen: kein Sitzungs-Speichern/-Wiederherstellen, keine Fensterlayout-Schreibvorgänge, keine Zuletzt-geöffnet-Einträge.
- Es laden keine Plugins, der Start ist also schnell; Kernfunktionen — Syntaxhervorhebung, Themes, der KI-Assistent — bleiben verfügbar.
Exit-Codes¶
| Code | Bedeutung |
|---|---|
0 |
Normales Ende, einschließlich eines geschlossenen --diff/--viewer-Fensters. |
2 |
Ungültige --diff-Anfrage (falsche Operandenzahl, fehlende Datei, Verzeichnis-Operand). |