Gå til indholdet

Sammenlign / Diff

Sammenlign to filer (eller en fil med dens ugemte buffer), og se præcis hvad der er ændret — linje for linje og tegn for tegn — i en visning side om side, og flet derefter enkelte ændringer over og gem resultatet.

At starte en sammenligning

Alle måder at sammenligne på bor i topmenuen Sammenlign:

Kommando Sammenligner
Sammenlign ▸ Sammenlign to filer… To filer, du vælger fra disken.
Sammenlign ▸ Sammenlign med den gemte version Den aktive buffer (dine ugemte ændringer) med versionen på disken.
Sammenlign ▸ Sammenlign med fil… Det aktive dokument med en fil, du vælger.
Sammenlign ▸ Sammenlign med ▸ Det aktive dokument med et andet åbent faneblad — undermenuen viser hvert andet åbent dokument (et * markerer ugemte ændringer) og sammenligner de levende buffere, uden at noget skal gemmes.
Sammenlign ▸ Sammenlign mapper… To mappetræer — leveret af Mappesammenligning-udvidelsesmodulet.
OctoEdit --diff a b (kommandolinje) To filer, i et selvstændigt visningsvindue — integrationen med git difftool.

Editorens besked om filændringer tilbyder også en knap Sammenlign, så du kan gennemse en ekstern ændring, inden du genindlæser.

Filer afkodes efter deres genkendte tegnkodning (UTF-8 med eller uden BOM, UTF-16 LE/BE, eller systemets ANSI-kodetabel), så filer, der ikke er UTF-8, sammenlignes korrekt — og at gemme en flettet side koder om til filens oprindelige tegnkodning, BOM inklusive.

At læse resultatet

Sammenligningen åbnes i et nyt faneblad med de to filer side om side, og de to ruder ruller sammen.

  • Tilføjede / fjernede / ændrede linjer får en farvet tone over hele linjen plus en tilsvarende stribe ved siden af linjenumrene.
  • En blok på to eller flere linjer, der er flyttet (fjernet ét sted, indsat uændret et andet — ændret indrykning gør ingen forskel), vises i blåt på begge sider i stedet for i almindeligt grønt/rødt, så en omrokering ikke forveksles med en ændring.
  • Inde i et par ændrede linjer rammes de præcise tegn, der afviger, ind i en kraftigere accentfarve, så en ændring af ét ord i en lang linje er tydelig på et øjeblik. Fremhævningen klæber til ordgrænser, hvor det er muligt.
  • Alle disse farver følger det aktive tema og kan tilpasses pr. tema (se Temaeditoren); fornuftige standardværdier er indbygget til lyse og mørke varianter.
  • En ændring i Indstillinger, mens en sammenligning er åben, når den med det samme: editorens skrifttype, temaet (og dermed diff-tonerne) og visningshjælpen anvendes på ny i begge ruder, uden at fanebladet lukkes og åbnes igen. Tekstombrydning er den ene undtagelse — de to ruder skal bevare identisk linjegeometri for at forblive på linje, så den anvendes ikke her.

Meget store sammenligninger (over ~1 MB) beregnes i baggrunden — ruderne dukker op med det samme med sammendraget «Sammenligner…», og markørerne lander, når sammenligningen er færdig.

Rediger ▸ Kopiér og Markér alt (og deres genvejstaster) virker på den rude, der lige nu har markøren — klik i en rude for at vælge kopieringskilde.

Værktøjslinjens knapper

Knap Hvad den gør
↓ Næste / ↑ Forrige Springer med begge ruder til næste/forrige forskel (placeret cirka en tredjedel nede i visningen). Også Alt+Ned / Alt+Op, mens sammenligningsfanebladet har fokus.
Ignorér blanktegn Behandl linjer, der kun adskiller sig i mellemrum, som ens.
Ignorér store/små bogstaver Behandl forskelle i store og små bogstaver som ens.
Justeret (slået til som standard) Udfylder den korteste side af hver ændring med tomme fyldlinjer, så matchede områder ligger præcis side om side gennem hele visningen. Selve filerne ændres aldrig.
Byt om på siderne Bytter de to sider (titler, indhold, ventende kopier og det hele) og sammenligner på ny i den anden retning.
Gem venstre / Gem højre Skriver den sides tekst tilbage til dens fil, efter at du har kopieret ændringer ind i den. Kun aktiveret, mens siden har ugemte kopier; skjult for en side, der kun findes i hukommelsen.

Et sammendrag viser antallet af forskelle; ens filer viser desuden en centreret overlejring «Filerne er ens», som du ikke kan overse.

Oversigtslineal

Den smalle kolonne i højre kant viser hele sammenligningen på et øjeblik — ét farvet mærke pr. forskel (grøn tilføjet, rød fjernet, ravgul ændret, blå flyttet), placeret forholdsmæssigt efter sin plads i dokumentet. Klik på et mærke (eller hvor som helst i kolonnen) for at springe direkte til den nærmeste forskel.

Fletning: at kopiere en ændring til den anden side

Højreklik i en af ruderne for at arbejde med forskellen under klikket:

Menupunkt Hvad det gør
Kopiér / Markér alt De sædvanlige udklipsholderhandlinger for de skrivebeskyttede ruder.
Kopiér ændringen til højre Erstatter denne ændrings blok på højre side med blokken fra venstre side.
Kopiér ændringen til venstre Det samme, i den anden retning.
Fortryd kopieringen Ruller den seneste kopiering tilbage (også Ctrl+Z, mens sammenligningsfanebladet har fokus).

Bemærkninger:

  • Begge retninger virker, uanset hvilken rude af ændringen du højreklikker i — herunder den «tomme» side af en ren indsætning eller sletning.
  • Kopierede linjer overtager målfilens linjeskift, så fletning mellem en CRLF- og en LF-fil aldrig giver et resultat med blandede linjeskift.
  • Efter en kopiering genberegnes sammenligningen med det samme; begge visninger bliver, hvor de var.
  • En side, der er ændret af kopieringer, viser en aktiveret knap Gem venstre/ højre; gemningen skriver filen atomart og rydder ændringstilstanden. At kopiere ind i en side, der ikke har nogen fil på disken (for eksempel den ugemte buffer-side ved Sammenlign med gemt version), er ikke muligt — der ville ikke være noget sted at gemme den.
  • At lukke et sammenligningsfaneblad med ugemte kopier spørger, inden de kasseres.

Genskabes med din session

En sammenligning mellem to filer huskes og åbnes igen ved næste start. En sammenligning med en ugemt buffer kan ikke genskabes (siden i hukommelsen er væk, når du afslutter), og ugemte kopier bevares ikke — gem dem først.