Ga naar inhoud

Vergelijken / Diff

Vergelijk twee bestanden (of een bestand met zijn niet-opgeslagen buffer) en zie precies wat er veranderd is — regel voor regel en teken voor teken — in een weergave naast elkaar, en voeg daarna afzonderlijke wijzigingen over en sla het resultaat op.

Een vergelijking starten

Elke manier om te vergelijken staat in het bovenste menu Vergelijken:

Opdracht Vergelijkt
Vergelijken ▸ Twee bestanden vergelijken… Twee bestanden die u van de schijf kiest.
Vergelijken ▸ Vergelijken met opgeslagen versie De actieve buffer (uw niet-opgeslagen bewerkingen) met de versie op de schijf.
Vergelijken ▸ Vergelijken met bestand… Het actieve document met een bestand dat u kiest.
Vergelijken ▸ Vergelijken met ▸ Het actieve document met een ander geopend tabblad — het submenu toont elk ander geopend document (een * markeert niet-opgeslagen wijzigingen) en vergelijkt de levende buffers, zonder dat u hoeft op te slaan.
Vergelijken ▸ Mappen vergelijken… Twee mapstructuren — geleverd door de plug-in Mappen vergelijken.
OctoEdit --diff a b (opdrachtregel) Twee bestanden, in een zelfstandig weergavevenster — de integratie met git difftool.

De melding over bestandswijzigingen van de editor biedt ook een knop Vergelijken, zodat u een externe wijziging kunt bekijken voordat u herlaadt.

Bestanden worden gedecodeerd volgens hun herkende tekencodering (UTF-8 met of zonder BOM, UTF-16 LE/BE, of de ANSI-codepagina van het systeem), zodat niet-UTF-8-bestanden correct vergelijken — en het opslaan van een samengevoegde kant codeert opnieuw naar de oorspronkelijke tekencodering van het bestand, BOM inbegrepen.

Het resultaat lezen

De vergelijking opent in een nieuw tabblad met de twee bestanden naast elkaar, en de twee deelvensters schuiven samen.

  • Toegevoegde / verwijderde / gewijzigde regels krijgen een gekleurde tint over de hele regel plus een bijpassende strook naast de regelnummers.
  • Een blok van twee of meer regels dat verplaatst is (op de ene plek verwijderd, op een andere ongewijzigd ingevoegd — opnieuw laten inspringen doet er niet toe) wordt aan beide kanten in blauw getoond in plaats van gewoon groen/rood, zodat een herschikking niet voor een bewerking wordt aangezien.
  • Binnen een gewijzigd regelpaar worden de precieze tekens die verschillen omkaderd in een sterkere accentkleur, zodat een bewerking van één woord in een lange regel meteen opvalt. De markering springt waar mogelijk naar woordgrenzen.
  • Al deze kleuren volgen het actieve thema en kunnen per thema worden aangepast (zie Thema-editor); voor de lichte en donkere variant zijn verstandige standaarden ingebouwd.
  • Een wijziging in Voorkeuren terwijl een vergelijking open staat bereikt die meteen: het lettertype van de editor, het thema (en daarmee de diff-tinten) en de weergavehulpen worden op beide deelvensters opnieuw toegepast zonder het tabblad te sluiten en te heropenen. De regelterugloop is de ene uitzondering — de twee deelvensters moeten identieke regelgeometrie houden om uitgelijnd te blijven, dus die wordt hier niet toegepast.

Heel grote vergelijkingen (boven ~1 MB) worden op de achtergrond berekend — de deelvensters verschijnen meteen met een samenvatting «Bezig met vergelijken…», en de markeringen landen wanneer de vergelijking klaar is.

Bewerken ▸ Kopiëren en Alles selecteren (en hun sneltoetsen) werken op het deelvenster dat op dat moment de cursor bevat — klik in een deelvenster om de kopieerbron te kiezen.

Knoppen op de werkbalk

Knop Wat die doet
↓ Volgende / ↑ Vorige Springt met beide deelvensters naar het volgende/vorige verschil (ongeveer een derde vanaf de bovenkant van de weergave geplaatst). Ook Alt+Omlaag / Alt+Omhoog terwijl het vergelijkingstabblad de focus heeft.
Witruimte negeren Regels die alleen in spatiëring verschillen als gelijk behandelen.
Hoofdletters negeren Verschillen in hoofd- en kleine letters als gelijk behandelen.
Uitgelijnd (standaard aan) Vult de kortere kant van elke wijziging aan met lege opvulregels, zodat overeenkomende gebieden door het hele zichtbare gebied precies naast elkaar staan. De bestanden zelf worden nooit gewijzigd.
Zijden verwisselen Verwisselt de twee kanten (titels, inhoud, hangende kopieën en al) en vergelijkt opnieuw in de andere richting.
Links opslaan / Rechts opslaan Schrijft de tekst van die kant terug naar het bestand nadat u er wijzigingen in gekopieerd hebt. Alleen ingeschakeld zolang die kant niet-opgeslagen kopieën heeft; verborgen voor een kant die alleen in het geheugen bestaat.

Een samenvatting toont het aantal verschillen; bij identieke bestanden verschijnt bovendien een gecentreerde bedekking «Bestanden zijn identiek» die u niet kunt missen.

Overzichtsliniaal

De smalle kolom aan de rechterrand toont de hele vergelijking in één oogopslag — één gekleurd streepje per verschil (groen toegevoegd, rood verwijderd, amber gewijzigd, blauw verplaatst), naar verhouding geplaatst naar zijn plek in het document. Klik op een streepje (of ergens in de kolom) om meteen naar het dichtstbijzijnde verschil te springen.

Samenvoegen: een wijziging naar de andere kant kopiëren

Klik met de rechtermuisknop in een van beide deelvensters om met het verschil onder de klik te werken:

Menu-item Wat dat doet
Kopiëren / Alles selecteren De gebruikelijke klembordbewerkingen voor de alleen-lezen deelvensters.
Wijziging naar rechts kopiëren Vervangt het blok van deze wijziging aan de rechterkant door het blok van de linkerkant.
Wijziging naar links kopiëren Hetzelfde, in de andere richting.
Kopie ongedaan maken Draait de meest recente kopie terug (ook Ctrl+Z terwijl het vergelijkingstabblad de focus heeft).

Opmerkingen:

  • Beide richtingen werken ongeacht op welk deelvenster van de wijziging u rechtsklikt — ook op de «lege» kant van een zuivere invoeging of verwijdering.
  • Gekopieerde regels nemen de regeleinden van het doelbestand over, zodat samenvoegen tussen een CRLF- en een LF-bestand nooit een gemengd resultaat oplevert.
  • Na een kopie wordt de vergelijking meteen opnieuw berekend; beide zichtbare gebieden blijven waar ze waren.
  • Een kant die door kopieën gewijzigd is toont een ingeschakelde knop Links/ Rechts opslaan; opslaan schrijft het bestand atomair weg en wist de status «gewijzigd». Kopiëren naar een kant die geen bestand op de schijf heeft (bijvoorbeeld de kant met de niet-opgeslagen buffer bij Vergelijken met opgeslagen versie) is niet mogelijk — er zou nergens zijn om het op te slaan.
  • Een vergelijkingstabblad met niet-opgeslagen kopieën sluiten vraagt eerst voordat die verworpen worden.

Hersteld met uw sessie

Een vergelijking van bestand tot bestand wordt onthouden en bij de volgende start weer geopend. Een vergelijking met een niet-opgeslagen buffer kan niet worden hersteld (de kant in het geheugen is weg zodra u afsluit), en niet-opgeslagen kopieën worden niet bewaard — sla ze eerst op.