Příkazový řádek a git difftool¶
OctoEdit má malou plochu na příkazové řádce vstřícnou skriptům: otevírá soubory (volitelně
s pozicí kurzoru), umožňuje doladit jednotlivý běh několika volbami a — to hlavní — umí
posloužit jako rychlý prohlížeč porovnání dvou souborů pro git difftool.
Cesty mohou být relativní i absolutní. Při spuštění z konzole se --help/--version
vypíšou tam; při spuštění jinak se objeví v malém okně.
Otevírání souborů¶
- Každý soubor se otevře ve vlastní kartě. Cesta, která zatím neexistuje, se otevře jako nový, neuložený buffer navázaný na ten název (uložením soubor vznikne).
- Koncové
:řádeknebo:řádek:sloupecu prvního souboru přesune kurzor (počítáno od 1, omezeno rozsahem dokumentu) — šikovné při práci s výstupem překladačů a grepu:
- Se zapnutou jedinou instancí (výchozí stav) druhé spuštění předá své soubory běžícímu oknu a skončí.
Volby¶
| Volba | Význam |
|---|---|
-h, --help |
Vypíše použití a skončí. |
-v, --version |
Vypíše verzi aplikace a skončí. |
--log <level> |
Nejnižší úroveň protokolu pro tento běh: trace, debug, info, warning nebo error. |
--rendering <mode> |
Jak tento běh skládá svá okna: gpu (výchozí) nebo cpu. Platí jen pro tento běh (viz níže). |
--list-debug-flags |
Vypíše rozpoznávané ladicí příznaky s jejich aktuálními hodnotami a skončí. |
--diff <left> <right> |
Porovná dva soubory v dočasném prohlížeči jen ke čtení (zahrnuje --viewer). |
--viewer |
Dočasná instance prohlížeče jen ke čtení (viz níže). |
--readonly |
Otevře uvedené soubory jen ke čtení (viz níže). |
--rendering: skládání okna pro jeden běh¶
Vybírá, jak tento běh skládá svá okna — gpu (výchozí) nebo cpu — a nic jiného. Co oba
režimy znamenají, popisuje
Předvolby ▸ Obecné ▸ Vykreslování okna.
- Platí jen pro tento běh a nikdy se neukládá: příští běžné spuštění se opět řídí Předvolbami.
- Režim se rozhoduje ještě před tím, než existuje první okno, a za běhu editoru se nemůže
změnit, takže se týká stejně okna editoru jako okna
--viewer/--diff. Neznámý režim se ohlásí a přeskočí. - Se zapnutou jedinou instancí (výchozí stav) předané spuštění jen odevzdá své soubory:
běžící okno si ponechá režim, s nímž nastartovalo, a
--renderingtam nic nezmění.
Když okno editoru po spuštění nejde použít
Pokud se okno objeví špatně vykreslené nebo vůbec, spusťte editor jednou s
--rendering=cpu a pak si sami nastavte Předvolby ▸ Obecné ▸ Vykreslování okna na
CPU — volba z příkazové řádky se nepamatuje, takže vás jen pustí dovnitř, a trvalou
ji udělá až nastavení.
Pokud ani to není možné, nastavení lze zapsat ručně při zavřeném editoru. Do sekce
[app] konfiguračního souboru přidejte:
Soubor je zde:
- Windows:
%APPDATA%\7-bits\OctoEdit.ini - macOS:
~/.config/7-bits.eu/OctoEdit.ini - Linux:
~/.config/7-bits/OctoEdit.conf
--readonly: otevřít konkrétní soubory uzamčené¶
Otevře uvedené soubory s vypnutými úpravami — měnící příkazy (Vyjmout, Vložit, Zpět…) pro
tyto karty zašednou, zatímco Kopírovat funguje dál. Na rozdíl od --viewer jde o běžnou
instanci editoru: vaše relace se obnoví, můžete otevřít a upravovat kterýkoli jiný dokument
a druhé spuštění s --readonly předá své soubory běžícímu oknu rovněž uzamčené. Dvě
pojistky: uvedený soubor, který už je otevřený s neuloženými změnami, zůstane
upravitelný (příznak nikdy neuvězní změny, které byste pak nemohli uložit), a uvedená cesta,
která zatím neexistuje, se otevře jako uzamčený prázdný buffer.
--diff: okno porovnání dvou souborů¶
Otevře samostatné, jednorázové okno, jehož jedinou kartou je porovnání obou souborů vedle sebe — s obarvením syntaxe, jen ke čtení a s plnou sadou nástrojů porovnání: přecházení mezi rozdíly, přehledové pravítko, přepínače ignorování bílých znaků a velikosti písmen i Zarovnané a slučování kopírováním změn s ukládáním po stranách (oba operandy jsou skutečné soubory, takže fungují oba směry).
- Vyžadují se přesně dva existující soubory. Chybějící soubor nebo adresář se ohlásí a
proces skončí s kódem
2, aniž by otevřel okno editoru (porovnávání adresářů bydlí v zásuvném modulu Porovnání složek). - Proces běží, dokud okno nezavřete, a pak skončí s
0— což je přesně to, na cogit difftoolčeká. - Okno je nezávislé na vašem běžném OctoEditu: nikdy se nepřipojuje k mechanismu jediné
instance, nenačítá žádné zásuvné moduly a nic neukládá (žádnou relaci, žádné rozvržení,
žádné položky nedávných souborů). Vašeho editoru a jeho relace se to nedotkne a vedle něj
může existovat libovolný počet oken
--diff. - Asistent AI zůstává dostupný — je součástí jádra. Položíte-li tam dotaz, agent se automaticky dozví, které dva soubory jsou na obrazovce (a získá k oběma přístup pro čtení), takže »co se mezi těmito soubory změnilo?« prostě funguje.
Nastavení jako váš git difftool¶
# .gitconfig
[diff]
tool = octoedit
[difftool]
prompt = false
[difftool "octoedit"]
cmd = OctoEdit --diff "$LOCAL" "$REMOTE"
Pak například:
Tip
Ujistěte se, že OctoEdit.exe je ve vaší PATH, nebo do řádku cmd = napište jeho
úplnou cestu.
--viewer: jednorázový prohlížeč jen ke čtení¶
Dočasná instance pro rychlé nahlédnutí do souboru, aniž byste rušili svou skutečnou relaci
(zahrnuta v --diff):
- Soubory zadané na příkazové řádce se otevřou normálně — potom se instance uzamkne: buffery jsou jen ke čtení, Soubor ▸ Nový/Otevřít/Uložit i všechny příkazy Porovnat jsou vypnuté a nic nemůže otevřít další kartu.
- Zavřením poslední karty se zavře okno.
- Nic se neuchovává: žádné uložení ani obnovení relace, žádné zápisy rozvržení okna, žádné položky nedávných souborů.
- Nenačítají se žádné zásuvné moduly, takže start je rychlý; funkce jádra — obarvování syntaxe, motivy, asistent AI — zůstávají dostupné.
Návratové kódy¶
| Kód | Význam |
|---|---|
0 |
Normální ukončení, včetně zavřeného okna --diff/--viewer. |
2 |
Neplatný požadavek --diff (špatný počet operandů, chybějící soubor, operand je adresář). |