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 <level> |
Minimale Protokollstufe für diesen Lauf: trace, debug, info, warning oder error. |
--rendering <mode> |
Wie dieser Lauf seine Fenster komponiert: gpu (der Standard) oder cpu. Gilt nur für diesen Lauf (siehe unten). |
--list-debug-flags |
Die erkannten Debug-Flags mit aktuellen Werten auflisten und beenden. |
--diff <left> <right> |
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). |
--rendering: Fensterkomposition für einen Lauf¶
Wählt, wie dieser Lauf seine Fenster komponiert — gpu (der Standard) oder cpu — und
sonst nichts. Was die beiden Modi bedeuten, steht unter
Einstellungen ▸ Allgemein ▸ Fenster-Rendering.
- Es gilt nur für diesen Lauf und wird nie gespeichert: der nächste normale Start richtet sich wieder nach den Einstellungen.
- Der Modus wird entschieden, bevor das erste Fenster existiert, und kann sich während
der Laufzeit nicht ändern — er gilt für das Editor-Fenster genauso wie für ein
--viewer- /--diff-Fenster. Ein unbekannter Modus wird gemeldet und ignoriert. - Bei eingeschalteter Einzelinstanz (dem Standard) übergibt ein weitergeleiteter Start
nur seine Dateien: das laufende Fenster behält den Modus, mit dem es gestartet ist, und
--renderingändert dort nichts.
Wenn das Editor-Fenster nach dem Start nicht benutzbar ist
Erscheint das Fenster falsch gezeichnet oder überhaupt nicht, starten Sie den Editor
einmal mit --rendering=cpu und setzen Sie dann selbst Einstellungen ▸ Allgemein ▸
Fenster-Rendering auf CPU — die Kommandozeilenoption wird nicht gemerkt, sie
bringt Sie also nur herein, dauerhaft macht es die Einstellung.
Kommen Sie auch so nicht weiter, lässt sich die Einstellung bei geschlossenem Editor
von Hand eintragen. Fügen Sie in den Abschnitt [app] der Konfigurationsdatei ein:
Die Datei liegt unter:
- Windows:
%APPDATA%\7-bits\OctoEdit.ini - macOS:
~/.config/7-bits.eu/OctoEdit.ini - Linux:
~/.config/7-bits/OctoEdit.conf
--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). |