Preskočiť na obsah

Porovnanie / Diff

Porovnajte dva súbory (alebo súbor s jeho neuloženým bufferom) a presne uvidíte, čo sa zmenilo — riadok po riadku aj znak po znaku — v zobrazení vedľa seba; jednotlivé zmeny potom môžete prekopírovať na druhú stranu a výsledok uložiť.

Spustenie porovnania

Všetky spôsoby porovnávania nájdete v hlavnej ponuke Porovnať:

Príkaz Porovnáva
Porovnať ▸ Porovnať dva súbory… Dva súbory, ktoré vyberiete z disku.
Porovnať ▸ Porovnať s uloženou verziou Aktívny buffer (vaše neuložené úpravy) s verziou na disku.
Porovnať ▸ Porovnať so súborom… Aktívny dokument so súborom, ktorý vyberiete.
Porovnať ▸ Porovnať s ▸ Aktívny dokument s inou otvorenou kartou — podponuka vypíše každý ďalší otvorený dokument (* označuje neuložené zmeny) a porovná živé buffery, bez potreby ukladania.
Porovnať ▸ Porovnať priečinky… Dva stromy priečinkov — poskytuje ich zásuvný modul Porovnanie priečinkov.
OctoEdit --diff a b (príkazový riadok) Dva súbory v samostatnom okne prehliadača — integrácia s git difftool.

Aj upozornenie editora na zmenu súboru ponúka tlačidlo Porovnať, takže si vonkajšiu zmenu môžete prezrieť ešte pred opätovným načítaním.

Súbory sa dekódujú podľa svojho rozpoznaného kódovania (UTF-8 so značkou BOM aj bez nej, UTF-16 LE/BE alebo systémová kódová stránka ANSI), takže súbory mimo UTF-8 sa porovnajú správne — a uloženie zlúčenej strany ju znova zakóduje do pôvodného kódovania súboru vrátane značky BOM.

Čítanie výsledku

Porovnanie sa otvorí v novej karte s dvoma súbormi vedľa seba a obidve tably sa posúvajú spoločne.

  • Pridané, odstránené a zmenené riadky dostanú farebný podklad celého riadka a zodpovedajúci pruh vedľa čísel riadkov.
  • Blok dvoch a viacerých riadkov, ktorý bol presunutý (na jednom mieste odstránený, na inom vložený nezmenený — na zmene odsadenia nezáleží), sa na obidvoch stranách zobrazuje modro namiesto obyčajnej zelenej či červenej, takže sa preskupenie nezamieňa s úpravou.
  • Vnútri zmeneného páru riadkov sú presné znaky, ktoré sa líšia, orámované výraznejšou zvýrazňujúcou farbou, takže úprava jedného slova v dlhom riadku je na prvý pohľad zrejmá. Zvýraznenie sa podľa možnosti zarovnáva na hranice slov.
  • Všetky tieto farby sa riadia aktívnym motívom a dajú sa prispôsobiť pre každý motív zvlášť (pozri Editor motívov); pre svetlé aj tmavé varianty sú zabudované rozumné predvolené hodnoty.
  • Zmena vykonaná v Predvoľbách počas otvoreného porovnania sa k nemu dostane okamžite: písmo editora, motív (a s ním odtiene rozdielov) aj pomôcky zobrazenia sa znova uplatnia na obidve tably bez zatvorenia a opätovného otvorenia karty. Jedinou výnimkou je zalamovanie riadkov — obidve tably musia mať kvôli zarovnaniu rovnakú geometriu riadkov, takže sa tu neuplatňuje.

Veľmi rozsiahle porovnania (nad ~1 MB) sa počítajú na pozadí — tably sa objavia okamžite so súhrnom „Porovnáva sa…“ a značky pribudnú, keď sa porovnanie dokončí.

Úpravy ▸ Kopírovať a Vybrať všetko (aj ich skratky) pracujú s tablou, v ktorej je práve kurzor — kliknutím do tably určíte zdroj kopírovania.

Ovládacie prvky panela nástrojov

Prvok Čo robí
↓ Ďalší / ↑ Predchádzajúci Presunie obidve tably na nasledujúci/predchádzajúci rozdiel (umiestni ho asi do tretiny zobrazenia). Takisto Alt+Down / Alt+Up, kým je karta porovnania zameraná.
Ignorovať biele znaky Riadky, ktoré sa líšia iba medzerami, sa považujú za zhodné.
Ignorovať veľkosť písmen Rozdiely vo veľkosti písmen sa považujú za zhodné.
Zarovnané (predvolene zapnuté) Doplní kratšiu stranu každej zmeny prázdnymi výplňovými riadkami, aby zodpovedajúce oblasti ležali presne vedľa seba v celom zobrazení. Samotné súbory sa nikdy nemenia.
Vymeniť strany Prehodí obidve strany (názvy, obsah, čakajúce kópie, všetko) a porovná znova v opačnom smere.
Uložiť vľavo / Uložiť vpravo Zapíše text danej strany späť do jej súboru po tom, čo ste do nej skopírovali zmeny. Tlačidlo je aktívne, iba kým má strana neuložené kópie; pre stranu existujúcu len v pamäti sa nezobrazuje.

Súhrn zobrazuje počet rozdielov; pri zhodných súboroch sa navyše objaví vycentrované prekrytie „Súbory sú zhodné“, ktoré nemôžete prehliadnuť.

Prehľadové pravítko

Úzky stĺpec pri pravom okraji zobrazuje celé porovnanie naraz — jednu farebnú čiarku pre každý rozdiel (zelená pridané, červená odstránené, jantárová zmenené, modrá presunuté), umiestnenú úmerne k jeho polohe v dokumente. Kliknutím na čiarku (alebo kamkoľvek do stĺpca) skočíte priamo na najbližší rozdiel.

Zlučovanie: skopírovanie zmeny na druhú stranu

Kliknutím pravým tlačidlom do ktorejkoľvek tably začnete pracovať s rozdielom pod kurzorom:

Položka ponuky Čo robí
Kopírovať / Vybrať všetko Bežné operácie so schránkou pre tably iba na čítanie.
Kopírovať zmenu doprava Nahradí blok tejto zmeny na pravej strane blokom z ľavej strany.
Kopírovať zmenu doľava To isté opačným smerom.
Vrátiť kopírovanie Vráti najnovšie kopírovanie (takisto Ctrl+Z, kým je karta porovnania zameraná).

Poznámky:

  • Obidva smery fungujú bez ohľadu na to, v ktorej table zmeny kliknete pravým tlačidlom — vrátane „prázdnej“ strany čistého vloženia alebo odstránenia.
  • Skopírované riadky preberú konce riadkov cieľového súboru, takže zlučovanie medzi súborom s CRLF a súborom s LF nikdy nevytvorí miešané konce riadkov.
  • Po skopírovaní sa porovnanie ihneď prepočíta; obidve zobrazenia ostanú tam, kde boli.
  • Strana zmenená kopírovaním zobrazí aktívne tlačidlo Uložiť vľavo/vpravo; uloženie zapíše súbor atomicky a zruší príznak zmeny. Kopírovať do strany, ktorá nemá súbor na disku (napr. strana s neuloženým bufferom pri Porovnať s uloženým), nie je možné — nebolo by ju kam uložiť.
  • Zatvorenie karty porovnania s neuloženými kópiami sa pred ich zahodením spýta.

Obnovuje sa spolu s reláciou

Porovnanie súboru so súborom sa zapamätá a pri ďalšom spustení sa znova otvorí. Porovnanie s neuloženým bufferom obnoviť nemožno (strana v pamäti je po ukončení preč) a neuložené kópie sa neuchovávajú — najprv ich uložte.