Opdrachtregel en git difftool¶
OctoEdit heeft een klein, scriptvriendelijk opdrachtregelvlak: bestanden openen
(met een optionele cursorpositie), een uitvoering bijstellen met een paar opties
en — de blikvanger — dienstdoen als snelle vergelijker van twee bestanden voor
git difftool.
Paden mogen relatief of absoluut zijn. Wanneer het programma vanuit een console
wordt gestart, drukken --help/--version daar af; op elke andere manier
gestart verschijnen ze in plaats daarvan in een klein venster.
Bestanden openen¶
- Elk bestand opent in zijn eigen tabblad. Een pad dat nog niet bestaat opent als een nieuwe, niet-opgeslagen buffer die aan die naam gebonden is (opslaan maakt het bestand aan).
- Een
:lineof:line:columnachter het eerste bestand verplaatst de cursor (vanaf 1 geteld, begrensd tot het document) — handig vanuit compilers en uitvoer van grep:
- Met een enkel exemplaar ingeschakeld (de standaard) stuurt een tweede start zijn bestanden door naar het draaiende venster en sluit zichzelf af.
Opties¶
| Optie | Betekenis |
|---|---|
-h, --help |
Gebruiksaanwijzing afdrukken en afsluiten. |
-v, --version |
De versie van de toepassing afdrukken en afsluiten. |
--log <level> |
Minimaal logniveau voor deze uitvoering: trace, debug, info, warning of error. |
--rendering <mode> |
Hoe deze uitvoering haar vensters samenstelt: gpu (de standaard) of cpu. Geldt alleen voor die uitvoering (zie hieronder). |
--list-debug-flags |
De herkende foutopsporingsvlaggen met hun huidige waarden opsommen en afsluiten. |
--diff <left> <right> |
Twee bestanden vergelijken in een vluchtige alleen-lezen weergave (impliceert --viewer). |
--viewer |
Vluchtig alleen-lezen weergave-exemplaar (zie hieronder). |
--readonly |
De opgesomde bestanden alleen-lezen openen (zie hieronder). |
--rendering: venstersamenstelling voor één uitvoering¶
Kiest hoe deze uitvoering haar vensters samenstelt — gpu (de standaard) of cpu — en
niets anders. Wat de twee modi betekenen, staat bij
Voorkeuren ▸ Algemeen ▸ Vensterweergave.
- Het geldt alleen voor die uitvoering en wordt nooit opgeslagen: de volgende gewone start houdt zich weer aan de Voorkeuren.
- De modus wordt gekozen voordat het eerste venster bestaat en kan tijdens het draaien niet
veranderen, dus hij dekt het venster van de editor net zo goed als een
--viewer- /--diff-venster. Een onbekende modus wordt gemeld en genegeerd. - Met één instantie aan (de standaard) geeft een doorgestuurde start alleen zijn
bestanden door: het draaiende venster houdt de modus waarmee het is gestart, en
--renderingverandert daar niets.
Als het venster van de editor na de start niet te gebruiken is
Komt het venster verkeerd getekend op, of helemaal niet, start de editor dan één keer
met --rendering=cpu en zet daarna zelf Voorkeuren ▸ Algemeen ▸ Vensterweergave op
CPU — de optie op de opdrachtregel wordt niet onthouden, ze laat u dus binnen, en de
instelling maakt het blijvend.
Lukt ook dat niet, dan kan de instelling met de hand worden ingevuld terwijl de editor
dicht is. Voeg toe aan de sectie [app] van het configuratiebestand:
Het bestand staat op:
- Windows:
%APPDATA%\7-bits\OctoEdit.ini - macOS:
~/.config/7-bits.eu/OctoEdit.ini - Linux:
~/.config/7-bits/OctoEdit.conf
--readonly: bepaalde bestanden vergrendeld openen¶
Opent de opgesomde bestanden met het bewerken uitgeschakeld — de wijzigende
opdrachten (Knippen, Plakken, Ongedaan maken…) worden grijs voor die tabbladen
terwijl Kopiëren blijft werken. Anders dan --viewer is dit een normaal
exemplaar van de editor: uw sessie wordt hersteld, u kunt elk ander document
openen en bewerken, en een tweede start met --readonly stuurt zijn bestanden
eveneens vergrendeld door naar het draaiende venster. Twee vangrails: een
opgesomd bestand dat al open staat met niet-opgeslagen wijzigingen blijft
bewerkbaar (de vlag sluit nooit wijzigingen op die u daarna niet meer zou kunnen
opslaan), en een opgesomd pad dat nog niet bestaat opent als een vergrendelde lege
buffer.
--diff: een venster om twee bestanden te vergelijken¶
Opent een apart, wegwerpbaar venster waarvan het enige tabblad de vergelijking van de twee bestanden naast elkaar is — syntaxisgekleurd, alleen-lezen, met het volledige vergelijkingsgereedschap: navigatie tussen verschillen, de overzichtsliniaal, de schakelaars voor het negeren van witruimte en hoofdlettergebruik en voor Uitgelijnd, en samenvoegen door kopiëren met opslaan per kant (beide operanden zijn echte bestanden, dus beide richtingen werken).
- Er zijn precies twee bestaande bestanden vereist. Een ontbrekend bestand of
een map wordt gemeld en het proces sluit af met code
2zonder een editorvenster te openen (het vergelijken van mappen woont in de plug-in Mappen vergelijken). - Het proces blijft in leven totdat u het venster sluit en sluit dan af met
0— precies waargit difftoolop wacht. - Het venster staat los van uw normale OctoEdit: het doet nooit mee aan het
mechanisme van het enkele exemplaar, laadt geen plug-ins en slaat niets op
(geen sessie, geen indeling, geen items in de lijst met recente bestanden). Uw
editor en zijn sessie blijven onaangeroerd, en er kunnen willekeurig veel
--diff-vensters naast bestaan. - De AI-assistent blijft beschikbaar — die hoort bij de kern. Een vraag daar stellen vertelt de agent automatisch welke twee bestanden op het scherm staan (en geeft hem leestoegang tot beide), zodat «wat is er tussen deze bestanden veranderd?» gewoon werkt.
Instellen als uw git difftool¶
# .gitconfig
[diff]
tool = octoedit
[difftool]
prompt = false
[difftool "octoedit"]
cmd = OctoEdit --diff "$LOCAL" "$REMOTE"
Daarna bijvoorbeeld:
Tip
Zorg dat OctoEdit.exe in uw PATH staat, of schrijf het volledige pad in de
regel cmd =.
--viewer: een wegwerpbare alleen-lezen weergave¶
Een vluchtig exemplaar om snel naar een bestand te kijken zonder uw echte
bewerksessie te verstoren (wordt door --diff geïmpliceerd):
- De bestanden die op de opdrachtregel zijn meegegeven openen normaal — daarna wordt het exemplaar vergrendeld: de buffers zijn alleen-lezen, Bestand ▸ Nieuw/Openen/Opslaan en alle vergelijkopdrachten zijn uitgeschakeld, en er kan niets een ander tabblad openen.
- Het laatste tabblad sluiten sluit het venster.
- Er blijft niets bewaard: geen sessie die wordt opgeslagen of hersteld, geen schrijfacties naar de vensterindeling, geen items in de lijst met recente bestanden.
- Er worden geen plug-ins geladen, dus het start snel; kernfuncties — syntaxiskleuring, thema's, de AI-assistent — blijven beschikbaar.
Afsluitcodes¶
| Code | Betekenis |
|---|---|
0 |
Normale afsluiting, ook die van een gesloten --diff- of --viewer-venster. |
2 |
Ongeldige --diff-aanvraag (verkeerd aantal operanden, ontbrekend bestand, map als operand). |