Přeskočit obsah

Porovnat / Diff

Porovnejte dva soubory (nebo soubor s jeho neuloženým bufferem) a uvidíte přesně, co se změnilo — řádek po řádku i znak po znaku — v zobrazení vedle sebe; pak jednotlivé změny přeneste na druhou stranu a výsledek uložte.

Spuštění porovnání

Všechny způsoby porovnání bydlí v nabídce nejvyšší úrovně Porovnat:

Příkaz Porovnává
Porovnat ▸ Porovnat dva soubory… Dva soubory, které vyberete z disku.
Porovnat ▸ Porovnat s uloženou verzí Aktivní buffer (vaše neuložené úpravy) proti verzi na disku.
Porovnat ▸ Porovnat se souborem… Aktivní dokument proti souboru, který vyberete.
Porovnat ▸ Porovnat s ▸ Aktivní dokument proti jiné otevřené kartě — podnabídka vypisuje každý další otevřený dokument (* značí neuložené změny) a porovnává živé buffery, není nutné ukládat.
Porovnat ▸ Porovnat složky… Dva adresářové stromy — poskytuje zásuvný modul Porovnání složek.
OctoEdit --diff a b (příkazová řádka) Dva soubory v samostatném okně prohlížeče — propojení s git difftool.

Oznámení o změně souboru v editoru také nabízí tlačítko Porovnat, takže si můžete externí změnu prohlédnout ještě před znovunačtením.

Soubory se dekódují podle svého rozpoznaného kódování (UTF-8 s BOM nebo bez něj, UTF-16 LE/BE, nebo systémová kódová stránka ANSI), takže se soubory mimo UTF-8 porovnají správně — a uložení sloučené strany ji zakóduje zpět do původního kódování souboru, včetně BOM.

Čtení výsledku

Porovnání se otevře v nové kartě se dvěma soubory vedle sebe a oba panely se posouvají společně.

  • Přidané / odebrané / změněné řádky dostanou barevný podklad celého řádku a odpovídající proužek vedle čísel řádků.
  • Blok dvou nebo více řádků, který byl přesunut (smazán na jednom místě, beze změny vložen jinde — na změně odsazení nezáleží), se na obou stranách zobrazí modře místo prosté zelené a červené, aby se přeskupení nezaměnilo za úpravu.
  • Uvnitř dvojice změněných řádků jsou přesné znaky, které se liší, orámovány výraznější zvýrazňovací barvou, takže úprava jediného slova v dlouhém řádku je na první pohled zřejmá. Zvýraznění se, kde je to možné, zarovná na hranice slov.
  • Všechny tyto barvy se řídí aktivním motivem a lze je pro každý motiv upravit (viz Editor motivů); pro světlou i tmavou variantu jsou vestavěné rozumné výchozí hodnoty.
  • Změna provedená v Předvolbách, zatímco je porovnání otevřené, se do něj dostane okamžitě: písmo editoru, motiv (a s ním odstíny rozdílů) i pomůcky zobrazení se uplatní na oba panely, aniž byste kartu zavírali a znovu otevírali. Jedinou výjimkou je zalamování řádků — oba panely musí mít shodnou geometrii řádků, aby zůstaly zarovnané, takže se zde neuplatní.

Velmi rozsáhlá porovnání (nad ~1 MB) se počítají na pozadí — panely se objeví ihned se souhrnem »Porovnávání…« a značky dosednou, jakmile se rozdíl dopočítá.

Úpravy ▸ Kopírovat a Vybrat vše (i jejich zkratky) působí na panel, v němž právě je kurzor — klikněte do panelu a zvolíte tak zdroj kopírování.

Ovládací prvky lišty

Prvek Co dělá
↓ Další / ↑ Předchozí Skočí oběma panely na následující/předchozí rozdíl (umístěný asi do třetiny zobrazení). Také Alt+Dolů / Alt+Nahoru, pokud má karta porovnání zaměření.
Ignorovat bílé znaky Považuje řádky lišící se jen mezerami za shodné.
Ignorovat velikost písmen Považuje rozdíly ve velikosti písmen za shodné.
Zarovnané (výchozí zapnuto) Doplní kratší stranu každé změny prázdnými výplňovými řádky, aby si odpovídající oblasti seděly přesně vedle sebe v celé viditelné oblasti. Samotné soubory se nikdy nemění.
Prohodit strany Vymění obě strany (názvy, obsah, čekající kopie a všechno ostatní) a porovná znovu v opačném směru.
Uložit vlevo / Uložit vpravo Zapíše text dané strany zpět do jejího souboru poté, co jste do ní zkopírovali změny. Dostupné jen tehdy, má-li strana neuložené kopie; u strany existující pouze v paměti je skryté.

Souhrn ukazuje počet rozdílů; u shodných souborů se navíc zobrazí vystředěná vrstva »Soubory jsou shodné«, kterou nelze přehlédnout.

Přehledové pravítko

Úzký sloupec u pravého okraje ukazuje celé porovnání jedním pohledem — jednu barevnou rysku na rozdíl (zeleně přidáno, červeně odebráno, oranžově změněno, modře přesunuto), umístěnou úměrně jejímu místu v dokumentu. Kliknutím na rysku (nebo kamkoli ve sloupci) skočíte rovnou na nejbližší rozdíl.

Slučování: kopírování změny na druhou stranu

Klikněte pravým tlačítkem do některého panelu a pracujte s rozdílem pod kliknutím:

Položka nabídky Co dělá
Kopírovat / Vybrat vše Obvyklé operace se schránkou pro panely jen ke čtení.
Kopírovat změnu doprava Nahradí blok této změny na pravé straně blokem ze strany levé.
Kopírovat změnu doleva Totéž v opačném směru.
Zpět kopírování Vrátí nejnovější kopírování (také Ctrl+Z, má-li karta porovnání zaměření).

Poznámky:

  • Oba směry fungují bez ohledu na to, ve kterém panelu změny kliknete pravým tlačítkem — včetně »prázdné« strany čistého vložení nebo smazání.
  • Zkopírované řádky přebírají konce řádků cílového souboru, takže sloučení mezi souborem s CRLF a s LF nikdy nevede k míchání konců řádků.
  • Po zkopírování se porovnání ihned přepočítá; obě zobrazení zůstanou tam, kde byla.
  • Strana upravená kopiemi zobrazuje aktivní tlačítko Uložit vlevo/vpravo; uložení zapíše soubor atomicky a zruší příznak změny. Kopírovat do strany, která nemá soubor na disku (například strana neuloženého bufferu u Porovnat s uloženou verzí), nelze — nebylo by kam ji uložit.
  • Zavření karty porovnání s neuloženými kopiemi se před jejich zahozením zeptá.

Obnovuje se s vaší relací

Porovnání souboru se souborem se zapamatuje a při dalším spuštění znovu otevře. Porovnání proti neuloženému bufferu obnovit nelze (strana v paměti je po ukončení pryč) a neuložené kopie se neuchovávají — uložte je nejprve.