Zum Inhalt

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.

OctoEdit [Optionen] [Dateien...]

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

OctoEdit notes.txt src\main.cpp README.md
  • 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 :Zeile oder :Zeile:Spalte an der ersten Datei setzt den Cursor (1-basiert, auf das Dokument begrenzt) — praktisch aus Compiler- und grep-Ausgaben:
OctoEdit src\main.cpp:120:8
  • 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

OctoEdit --readonly production.conf notes.txt

Ö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

OctoEdit --diff old.txt new.txt

Ö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 wartet git 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:

git difftool HEAD~1 -- src/main.cpp

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

OctoEdit --viewer report.log

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).