Preskočiť na obsah

Príkazový riadok a git difftool

OctoEdit má malú, skriptovaniu prajnú plochu príkazového riadka: otváranie súborov (voliteľne s polohou kurzora), niekoľko možností na doladenie spustenia a — to hlavné — funkciu rýchleho prehliadača na porovnanie dvoch súborov pre git difftool.

OctoEdit [options] [files...]

Cesty môžu byť relatívne alebo absolútne. Pri spustení z konzoly vypíšu --help/--version výstup tam; pri spustení iným spôsobom sa namiesto toho zobrazia v malom dialógovom okne.

Otváranie súborov

OctoEdit notes.txt src\main.cpp README.md
  • Každý súbor sa otvorí vo vlastnej karte. Cesta, ktorá zatiaľ neexistuje, sa otvorí ako nový, neuložený buffer zviazaný s daným názvom (uložením sa súbor vytvorí).
  • Prípona :riadok alebo :riadok:stĺpec na konci prvého súboru presunie kurzor (počíta sa od 1, orezáva sa na rozsah dokumentu) — hodí sa to pri výstupe prekladačov a nástroja grep:
OctoEdit src\main.cpp:120:8
  • Pri zapnutej jedinej inštancii (predvolené) druhé spustenie odovzdá svoje súbory bežiacemu oknu a skončí.

Možnosti

Možnosť Význam
-h, --help Vypíše návod na použitie a skončí.
-v, --version Vypíše verziu aplikácie a skončí.
--log <level> Minimálna úroveň logovania pre toto spustenie: trace, debug, info, warning alebo error.
--rendering <mode> Ako toto spustenie skladá svoje okná: gpu (predvolené) alebo cpu. Platí len pre toto spustenie (pozri nižšie).
--list-debug-flags Vypíše rozpoznávané ladiace prepínače s ich aktuálnymi hodnotami a skončí.
--diff <left> <right> Porovná dva súbory v dočasnom prehliadači iba na čítanie (zahŕňa --viewer).
--viewer Dočasná inštancia prehliadača iba na čítanie (pozri nižšie).
--readonly Otvorí uvedené súbory iba na čítanie (pozri nižšie).

--rendering: skladanie okna pre jedno spustenie

OctoEdit --rendering=cpu

Vyberá, ako toto spustenie skladá svoje okná — gpu (predvolené) alebo cpu — a nič iné. Čo oba režimy znamenajú, opisuje Predvoľby ▸ Všeobecné ▸ Vykresľovanie okna.

  • Platí len pre toto spustenie a nikdy sa neukladá: ďalšie bežné spustenie sa opäť riadi Predvoľbami.
  • Režim sa rozhodne ešte predtým, než existuje prvé okno, a za behu editora sa nemôže zmeniť, takže sa týka rovnako okna editora ako okna --viewer / --diff. Neznámy režim sa ohlási a preskočí.
  • So zapnutou jedinou instanciou (predvolený stav) odovzdané spustenie len predá svoje súbory: bežiace okno si ponechá režim, s ktorým naštartovalo, a --rendering tam nič nezmení.

Keď sa okno editora po spustení nedá použiť

Ak sa okno objaví zle vykreslené alebo vôbec, spustite editor raz s --rendering=cpu a potom si sami nastavte Predvoľby ▸ Všeobecné ▸ Vykresľovanie okna na CPU — voľba z príkazového riadka sa nepamätá, takže vás len pustí dovnútra, a trvalou ju urobí až nastavenie.

Ak ani to nie je možné, nastavenie sa dá zapísať ručne pri zatvorenom editore. Do sekcie [app] konfiguračného súboru pridajte:

[app]
rendering\mode=cpu

Súbor je tu:

  • Windows: %APPDATA%\7-bits\OctoEdit.ini
  • macOS: ~/.config/7-bits.eu/OctoEdit.ini
  • Linux: ~/.config/7-bits/OctoEdit.conf

--readonly: otvorenie konkrétnych súborov uzamknutých

OctoEdit --readonly production.conf notes.txt

Otvorí uvedené súbory s vypnutými úpravami — meniace príkazy (Vystrihnúť, Prilepiť, Späť…) pre tieto karty zosivejú, zatiaľ čo Kopírovať funguje ďalej. Na rozdiel od --viewer ide o bežnú inštanciu editora: vaša relácia sa obnoví, môžete otvoriť a upravovať ľubovoľný iný dokument a druhé spustenie s --readonly odovzdá svoje súbory do bežiaceho okna takisto uzamknuté. Dve poistky: uvedený súbor, ktorý je už otvorený s neuloženými zmenami, ostáva upraviteľný (prepínač nikdy neuväzní zmeny, ktoré by ste už nemohli uložiť), a uvedená cesta, ktorá zatiaľ neexistuje, sa otvorí ako uzamknutý prázdny buffer.

--diff: okno na porovnanie dvoch súborov

OctoEdit --diff old.txt new.txt

Otvorí samostatné, jednorazové okno, ktorého jedinou kartou je porovnanie dvoch súborov vedľa seba — s farebnou syntaxou, iba na čítanie a s kompletnou sadou nástrojov na porovnávanie: navigáciou medzi rozdielmi, prehľadovým pravítkom, prepínačmi ignorovania bielych znakov a veľkosti písmen, prepínačom Zarovnané a so zlučovaním kopírovaním zmien a ukladaním každej strany zvlášť (obidva operandy sú skutočné súbory, takže fungujú obidva smery).

  • Vyžadujú sa presne dva existujúce súbory. Chýbajúci súbor alebo priečinok sa ohlási a proces skončí s kódom 2 bez otvorenia okna editora (porovnávanie priečinkov nájdete v zásuvnom module Porovnanie priečinkov).
  • Proces beží, kým okno nezatvoríte, a potom skončí s kódom 0 — presne na to git difftool čaká.
  • Okno je nezávislé od vášho bežného OctoEditu: nikdy sa nepripojí k mechanizmu jedinej inštancie, nenačíta žiadne zásuvné moduly a nič neukladá (žiadnu reláciu, rozloženie ani položky nedávnych súborov). Váš editor a jeho relácia ostávajú nedotknuté a popri ňom môže existovať ľubovoľný počet okien --diff.
  • Asistent AI je naďalej dostupný — je súčasťou jadra. Keď sa v ňom na niečo spýtate, agent sa automaticky dozvie, ktoré dva súbory sú na obrazovke (a získa k obidvom prístup na čítanie), takže otázka „čo sa medzi týmito súbormi zmenilo?“ jednoducho funguje.

Nastavenie ako git difftool

# .gitconfig
[diff]
    tool = octoedit
[difftool]
    prompt = false
[difftool "octoedit"]
    cmd = OctoEdit --diff "$LOCAL" "$REMOTE"

Potom napríklad:

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

Tip

Uistite sa, že OctoEdit.exe je vo vašej premennej PATH, prípadne do riadka cmd = napíšte jeho úplnú cestu.

--viewer: jednorazový prehliadač iba na čítanie

OctoEdit --viewer report.log

Dočasná inštancia na rýchle nazretie do súboru bez narušenia vašej skutočnej relácie úprav (zahrnutá v --diff):

  • Súbory zadané v príkazovom riadku sa otvoria bežným spôsobom — potom sa inštancia uzamkne: buffery sú iba na čítanie, Súbor ▸ Nový/Otvoriť/Uložiť a všetky príkazy porovnávania sú vypnuté a ďalšiu kartu nemôže otvoriť nič.
  • Zatvorením poslednej karty sa okno zavrie.
  • Nič sa neuchováva: žiadne uloženie ani obnova relácie, žiadne zápisy rozloženia okna, žiadne položky nedávnych súborov.
  • Nenačítajú sa žiadne zásuvné moduly, takže sa spúšťa rýchlo; funkcie jadra — farebné zvýrazňovanie syntaxe, motívy, asistent AI — ostávajú k dispozícii.
Kód Význam
0 Bežné ukončenie vrátane zatvoreného okna --diff/--viewer.
2 Neplatná požiadavka --diff (nesprávny počet operandov, chýbajúci súbor, operandom je priečinok).