Kommandolinje og git difftool¶
OctoEdit har en lille, scriptvenlig kommandolinjeflade: åbn filer (med en valgfri
markørposition), justér en kørsel med nogle få indstillinger, og — det vigtigste —
fungér som en hurtig sammenligner af to filer for git difftool.
Stier må være relative eller absolutte. Startet fra en konsol udskriver
--help/--version der; startet på anden vis vises de i stedet i et lille vindue.
At åbne filer¶
- Hver fil åbnes i sit eget faneblad. En sti, der endnu ikke findes, åbnes som en ny, ugemt buffer bundet til det navn (at gemme opretter filen).
- Et afsluttende
:lineeller:line:columnefter den første fil flytter markøren (talt fra 1, begrænset til dokumentet) — praktisk fra oversættere og uddata fra grep:
- Med én instans aktiveret (standard) sender en anden opstart sine filer videre til det kørende vindue og afslutter.
Indstillinger¶
| Indstilling | Betydning |
|---|---|
-h, --help |
Udskriv brug og afslut. |
-v, --version |
Udskriv programmets version og afslut. |
--log <level> |
Mindste logniveau for denne kørsel: trace, debug, info, warning eller error. |
--rendering <mode> |
Hvordan denne kørsel sætter sine vinduer sammen: gpu (standardvalget) eller cpu. Gælder kun den kørsel (se nedenfor). |
--list-debug-flags |
Vis de genkendte fejlfindingsflag med deres nuværende værdier og afslut. |
--diff <left> <right> |
Sammenlign to filer i en flygtig skrivebeskyttet visning (medfører --viewer). |
--viewer |
Flygtig skrivebeskyttet visningsinstans (se nedenfor). |
--readonly |
Åbn de angivne filer skrivebeskyttede (se nedenfor). |
--rendering: vinduessammensætning for én kørsel¶
Vælger, hvordan denne kørsel sætter sine vinduer sammen — gpu (standardvalget) eller cpu
— og ikke andet. Hvad de to tilstande betyder, står under
Indstillinger ▸ Generelt ▸ Vinduesgengivelse.
- Det gælder kun den kørsel og gemmes aldrig: næste almindelige start følger igen det, Indstillinger siger.
- Tilstanden afgøres, før det første vindue findes, og kan ikke ændres, mens editoren kører,
så den dækker editorvinduet lige så godt som et
--viewer- /--diff-vindue. En ukendt tilstand bliver meldt og ignoreret. - Med én instans slået til (standard) afleverer en videresendt start kun sine filer:
vinduet, der kører, beholder den tilstand, det startede med, og
--renderingændrer intet der.
Hvis editorvinduet ikke kan bruges efter starten
Kommer vinduet op tegnet forkert, eller slet ikke, så start editoren én gang med
--rendering=cpu og sæt derefter selv Indstillinger ▸ Generelt ▸ Vinduesgengivelse
til CPU — valget på kommandolinjen huskes ikke, det lukker dig blot ind, og det er
indstillingen, der gør valget varigt.
Går det heller ikke, kan indstillingen skrives i hånden, mens editoren er lukket. Tilføj
til afsnittet [app] i konfigurationsfilen:
Filen ligger her:
- Windows:
%APPDATA%\7-bits\OctoEdit.ini - macOS:
~/.config/7-bits.eu/OctoEdit.ini - Linux:
~/.config/7-bits/OctoEdit.conf
--readonly: åbn bestemte filer låst¶
Åbner de angivne filer med redigering slået fra — de ændrende kommandoer (Klip, Sæt
ind, Fortryd…) nedtones for de faneblade, mens Kopiér stadig virker. Modsat
--viewer er dette en normal instans af editoren: din session genskabes, du kan
åbne og redigere ethvert andet dokument, og en anden opstart med --readonly sender
sine filer videre til det kørende vindue, også låst. To værn: en angivet fil, der
allerede er åben med ugemte ændringer, forbliver redigerbar (flaget fanger aldrig
ændringer, du derefter ikke kunne gemme), og en angivet sti, der endnu ikke findes,
åbnes som en låst tom buffer.
--diff: et vindue til at sammenligne to filer¶
Åbner et separat engangsvindue, hvis eneste faneblad er sammenligningen af de to filer side om side — syntaksfarvet, skrivebeskyttet, med hele sammenligningsværktøjskassen: navigation mellem forskelle, oversigtslinealen, kontakterne til at se bort fra blanktegn og store/små bogstaver samt På linje, og fletning ved kopiering med gemning pr. side (begge operander er rigtige filer, så begge retninger virker).
- Præcis to eksisterende filer kræves. En manglende fil eller en mappe meldes, og
processen afslutter med kode
2uden at åbne et editorvindue (sammenligning af mapper bor i Mappesammenligning-udvidelsesmodulet). - Processen forbliver i live, indtil du lukker vinduet, og afslutter derefter med
0— hvilket er præcis det,git difftoolventer på. - Vinduet er uafhængigt af din normale OctoEdit: det tilslutter sig aldrig
mekanismen med én instans, indlæser ingen udvidelsesmoduler og gemmer intet (ingen
session, intet layout, ingen poster blandt nyligt åbnede filer). Din editor og dens
session forbliver urørt, og et vilkårligt antal
--diff-vinduer kan eksistere sammen med den. - AI-assistenten forbliver tilgængelig — den hører til kernen. At stille et spørgsmål der fortæller automatisk agenten, hvilke to filer der er på skærmen (og giver den læseadgang til begge), så «hvad ændrede sig mellem disse filer?» simpelthen virker.
At indstille den som dit git difftool¶
# .gitconfig
[diff]
tool = octoedit
[difftool]
prompt = false
[difftool "octoedit"]
cmd = OctoEdit --diff "$LOCAL" "$REMOTE"
Derefter for eksempel:
Tip
Sørg for, at OctoEdit.exe er i din PATH, eller skriv dens fulde sti i linjen
cmd =.
--viewer: en engangsvisning med skrivebeskyttelse¶
En flygtig instans til et hurtigt kig på en fil uden at forstyrre din rigtige
redigeringssession (medføres af --diff):
- Filerne angivet på kommandolinjen åbnes normalt — derefter låses instansen: bufferne er skrivebeskyttede, Filer ▸ Ny/Åbn/Gem og alle sammenligningskommandoer er slået fra, og intet kan åbne endnu et faneblad.
- At lukke det sidste faneblad lukker vinduet.
- Intet bevares: ingen session gemmes eller genskabes, ingen skrivninger af vinduets layout, ingen poster blandt nyligt åbnede filer.
- Ingen udvidelsesmoduler indlæses, så den starter hurtigt; kernefunktioner — syntaksfarvning, temaer, AI-assistenten — forbliver tilgængelige.
Afslutningskoder¶
| Kode | Betydning |
|---|---|
0 |
Normal afslutning, herunder et lukket --diff- eller --viewer-vindue. |
2 |
Ugyldig --diff-anmodning (forkert antal operander, manglende fil, mappe som operand). |