Filsammenligning og fletning

Kommandolinjeflag

Sammenlign to filer:

kdiff3 fil1 fil2

Sammenflet to filer:

kdiff3 fil1 fil2 -m
kdiff3 fil1 fil2 -o uddatafil

Sammenlign tre filer:

kdiff3 fil1 fil2 fil3

sammenflet tre filer:

kdiff3 fil1 fil2 fil3 -m
kdiff3 fil1 fil2 fil3-o uddatafil

Bemærk at fil1 behandles som basis for fil2 og fil3.

Specialtilfælde: Filer med samme navn
Hvis alle filer har samme navn men er i forskellige mapper, kan du reducere hvor meget du skal skrive ved kun at angive filnavnet for den første fil. ⪚:

kdiff3 kat1/filnavn kat2 kat3

Kommandolinje for at starte en mappesammenligning eller sammenfletning:
Dette er meget lignende, men nu drejer det sig om mapper.

kdiff3 kat1 kat2
kdiff3 kat1 kat2 -o målkat
kdiff3 kat1 kat2 kat3
kdiff3 kat1 kat2 kat3-o målkat

For mappesammenligning og sammenfletning kan du fortsætte med at læse her.

Andre kommandolinjeflag
For at se alle tilgængelige kommandolinjeflag, skriv

kdiff3 --help

Eksempeluddata:

Vælgare:
  -m, --merge               Sammenflet inddata.
  -b, --base file           Eksplicit basisfil. For at virke sammen med visse værktøjer.
  -o, --output file         Uddatafil. Betyder underforstået -m. F.eks.: -o ny_fil.txt
  --out file                Uddatafil, igen. (for at virke med visse værktøjer.)
  --auto                    Ingen grafisk grænseflade hvis alle konflikter kan løses automatisk (kræver -o fil)
  --qall                    Løs ikke konflikter automatisk. (For at virke med andre værktøjer...)
  --L1 alias1               Synlig erstatning af navn for inddatafil 1 (basis).
  --L2 alias2               Synlig erstatning af navn for inddatafil 2.
  --L3 alias3               Synlig erstatning af navn for inddatafil 3.
  -L, --fname alias         Alternativ synlig erstatning af navn. Angiv dette en gang for al inddata.
  --cs string               Sæt en indstilling ud af kraft. Anvend en gang for hver indstilling, f.eks.  --cs "AutoAdvance=1"
  --confighelp              Vis liste med indstillinger og nuværende værdier.
  --config file             Anvend en anden indstillingsfil.

Flaget -cs lader dig justere et indstillingstilvalg som ellers kun kan justeres via indstillingsdialogerne. Men vær klar over at når Kdiff3 afsluttes opbevares den ændrede værdi sammen med andre indstillinger. Med --confighelp kan du finde ud af navnene på tilgængelige tilvalg og nuværende værdier.
Via --config kan du angive en anden indstillingsfil. Hvis du ofte bruger Kdiff3 med helt forskellige indstillinger tillader dette dig nemt at skifte mellem dem.

Kommandolinjeflag som ignoreres
Mange personer vil bruge Kdiff3 sammen med et versionshåndteringssystem, men når versionshåndteringssystemet kalder Kdiff3 med kommandolinjeflag som Kdiff3 ikke genkender, afsluttes Kdiff3 med en fejl. Integrationsindstillingerne gør det muligt at angive kommandolinjeflag som skal ignoreres af Kdiff3. De vises i brugshjælpen som i dette eksempel:

--foo                     Ignoreres. (brugerdefineret)

Kommandolinjeflag at ignorere:	En liste med flag, adskilte med semikolon ';'. Når et af disse flag findes på kommandolinjen, ignorerer Kdiff3 det og kører uden at rapportere en fejl. (Standard er "u;query;html;abort").
Hvis dette ikke er nok, anbefales du at skrive et skalscript som udfører oversættelsen af flag.

Dialogen Åbn
Eftersom mange inddatafiler skal kunne vælges, har programmet en særlig åbningsdialog:
Åbningsdialogen tillader at filnavnene redigeres i hånden, at en fil vælges via filsøgeren ("Fil...") eller at nyligt brugte filer vælges i dropned-feltet. Hvis du åbner dialogen igen, eksisterer de nuværende navne stadigvæk der. Den tredje inddatafil kræves ikke. Hvis feltet for "C" forbliver tomt, udføres kun en tovejs sammenligninganalyse.
Du kan også vælge en mappe med "Mappe...". Hvis en mappe angives for A, starter en mappesammenligning og sammenfletning. Hvis A angiver en fil, men B, C eller udskriften angiver en mappe, bruger KDiff3 filnavnet fra A i de angivne mapper.
Hvis "Sammenflet" er valgt, bliver linjen "Udskrift" redigerbar. Det kræves dog ikke at uddatafilens navn angives med det samme. Du kan også vente med dette til du gemmer.
Knappen "Indstil.." viser indstillingsdialogen, så du kan indstille tilvalgene inden analysen udføres.

Indsæt eller slip inddata
Sommetider vil du sammenligne dele af en tekst som ikke er en egen fil. KDiff3 lader dig også indsætte tekst fra klippebordet i det inddatavindue for sammenligning som har fokus. Sammenligningsanalysen sker så med det samme. I åbningsdialogen behøver du så ikke at angive filer, men kun at lukke den via "Annullér".
Du kan også bruge træk og slip: Træk en fil fra en filhåndtering eller markeret tekst fra en editor og slip den på et inddatavindue til sammenligning.
Hvad er idéen? Sommetider indeholder en fil to lignende funktioner, men at kontrollere hvor ens de virkelig er bliver en stor anstrengelse hvis du først skal oprette to filer og derefter indlæse dem. Nu kan du helt enkelt kopiere, indsætte og sammenligne de relevante afsnit.
Bemærk: For øjeblikket kan du ikke trække noget fra KDiff3. Det understøttes kun at slippe inddata i sammenligningvinduet.
Advarsel: Visse editorer tolker stadigvæk træk og slip til et andet program som klip ud (i stedet for kopiér) og indsæt. De oprindelige data kan derfor gå tabt.

Sammenlign filer og tolke informationen i inddatavinduerne

Informationslinje
Længst oppe i hvert tekstvindue er dets "informationslinje". Informationslinjerne i inddatavinduet indeholder bogstaven "A", "B" eller "C", filnavnet og linjenummeret for den første synlige linje i vinduet. (Bemærk at vinduet "C" er valgfrit.) Hver informationslinje vises i en egen farve.
Når du vælger en anden fil ved at bladre eller afslutter at redigere filnavnet her ved at trykke på returtasten, indlæses den nye fil og sammenlignes med filen eller filerne som allerede er indlæste.

Farvelægning
De tre inddatavinduer tildeles bogstaverne "A", "B" og "C". "A" har blå farve, "B" har grøn farve og "C" har magenta. (Dette er standardfarver, men de kan ændres via menuen Opsætning.)
Når en forskel opdages viser farven hvilken inddatafil som adskiller sig. Når begge de øvrige inddatafiler adskiller sig, er farven som bruges for at udtrykke dette normalt rød ("Konfliktfarve" i indstillingerne). Dette farvelægningsmønster er særlig nyttigt i tilfældet med tre inddatafiler, som ses i næste afsnit (Sammenfletning).

Sammenfatningssøjle
Til venstre for hver tekst er "sammendragssøjlen". Hvis forskelle opstod på en linje, viser sammendragssøjlen tilsvarende farve. For en forskel som kun består af blanke tegn er sammendraget afkrydset. For programmeringssprog, hvor blanke tegn ikke er så vigtige er det nyttigt at se med et blik om noget af vigtighed er ændret. (For C/C++ er blanke tegn kun interessante inde i strenge, i kommentarer, for præprocessoren og i nogle meget esoteriske situationer.)
Den lodrette linje som adskiller sammendragssøjlen og teksten er afbrudt hvis inddatafilen ikke har nogen linjer der. Når tekstombrydning er aktiveret så vil denne linje se prikket ud for ombrudte linjer.

Oversigtssøjle
På højre side er en "oversigtssøjle" synlig til venstre for den lodrette rullebjælke. Den viser et komprimeret sammendrag af inddata "A". Alle forskelle og konflikter er synlige med et blik. Når kun to inddatavinduer bruges, ses alle forskelle i rødt her, eftersom alle forskelle også er konflikter. Et sort rektangel indrammer den synlige del af inddata. For meget lange inddatafiler, hvor antallet af inddatalinjer er større end højden på oversigten i billedpunkter, deler flere inddatalinjer en oversigtslinje. En konflikt har prioritet over enkle forskelle, som har prioritet over ingen ændringer, så ingen forskelle eller konflikter går tabte her. Ved at klikke på oversigtssøjlen vises den tilsvarende tekst.

Justér linjer manuelt
Sommetider placerer algoritmen forkerte linjer ved siden af hinanden, eller du vil sammenligne et stykke tekst med tekst på en helt anden position i den anden fil. I disse tilfælde kan du manuelt fortælle Kdiff3 at visse linjer skal arrangeres i bestemte linjer linje. Markér teksten som du vil arrangere med musen, som du ville gøre ved kopi og indsæt, i det første diff-vindue og vælg derefter "Tilføj manuel justering af sammenligning" i menuen "Sammenligning" (genvejstasten "Ctrl+Y"). En orange linje vises i sammenfatningssøjlen udfor den markerede tekst. Gentag det for den anden og (hvis tilgængelig) tredje sammenligningsvisning. Kdiff3 genberegner med det samme sammenligningen hver gang du gør det, og justerer de markerede linjer. Naturligvis matcher nogle af linjerne tidligere matchede ikke længere.
For øjeblikket understøttes ikke sammenfletning ved brug af manuel hjælp til sammenligning.

Sammenfletning og editorvinduet for sammenfletning af uddata
Editorvinduet for sammenfletning af uddata (under inddatavinduet for sammenligning) har også en informationslinje længst oppe som viser "Uddata", filnavnet og "[Ændret]" hvis du har redigeret noget. Oftest indeholder det en tekst fra de automatiske sammenfletningsfunktioner, men det indeholder også ofte konflikter.
Gem er deaktiveret indtil alle konflikter er løst!!! (Brug knapperne "Gå til foregående/næste uløste konflikt" for at finde de tilbageværende konflikter.)
Med kun to filer er hver forskel også en konflikt, som skal løses manuelt.
Med tre inddatafiler behandles den første som basis, mens den anden og tredje inddatafil indeholder ændringer. Hvis kun inddata B eller C er ændret for en vis linje, men ikke begge vælges den ændrede kilde automatisk. Kun hvis B og C er ændret på samme linjer, detekterer værktøjet en konflikt som skal løses manuelt. Når B og C er ens, men ikke det samme som A, vælges C. 

Sammenfatningssøjlen
Editorvinduet for sammenfletning af uddata har også en sammendragssøjle til venstre. Den viser bogstaverne for inddata fra hvilken linjen valgtes, eller ingenting hvis alle tre kilder var ens for linjen. Ved konflikter viser den et spørgsmålstegn "?" og linjen viser "< Konflikter ved sammenfletning >", alt med rødt. Eftersom det ville tage meget lang tid at løse konflikter linje for linje, grupperes linjer i grupper som har samme forskelle og konfliktkarakter. Konflikter med kun blanke tegn adskilles dog fra andre konflikter for at forbedre sammenfletningen af filer hvor indrykningen er ændret på mange linjer.

Indstil nuværende gruppe og synkronisér sammenfletnings- og sammenligningsvisningen position
Når du klikker på sammenfatningssøjlen med venstre museknap i et af vinduerne, så markeres gruppen som hører til den linje i alle vinduer og gruppens begyndelse vises. (Dette kan indebære et automatisk skift af position i vinduerne hvis gruppens begyndelse ikke ses.) Gruppen bliver så til den "nuværende gruppe". Den markeres med "Baggrundsfarven for nuværende sammenligningsområde" og en sort linje vises til venstre for teksten.

Vælg inddata A, B eller C for nuværende konflikt og redigering
Knaplinjen under menulinjen indeholder tre knapper for inddatavalg som indeholder bogstaverne "A", "B" og "C". Klik på knappen for inddatavalg for at indsætte linjer (eller fjerne dem hvis de allerede er indsat) fra de respektive kildefil. For at vælge linjer fra flere inddatafiler klikkes på de respektive knapper i den nødvendige rækkefølge. Hvis du for eksempel ønsker at linjer fra "B" skal havne før linjer fra "A" i uddata, klikkes først på "B" og derefter på "A".
Hvis du bruger tilvalget automatisk at gå videre (Gå automatisk til næste uløste konflikt efter valg af kilde), skal du deaktivere dette inden du vælger linjer fra flere inddatafiler eller hvis du vil redigere linjerne efter du valgt dem. Ellers går Kdiff3 til næste konflikt efter den første inddatafil er valgt.
Det er ofte nyttigt direkte at redigere sammenflettet uddata. Sammenfatningssøjlen viser "m" for hver linje som er ændret manuelt. Når forskellene for eksempel justeres på en måde så et enkelt valg af inddata ikke er tilfredsstillende, kan du markere teksten som behøves og bruge normal kopiér og indsæt for at placere den i sammenflettet uddata.
Sommetider, når en linje fjernes enten på grund af automatisk fletning eller ved redigering og ingen andre linjer er tilbage i gruppen, vises teksten <No src line> på linjen. Det er kun en pladsmarkør for gruppen hvis du ændrer mening og vælger en kilde igen. Teksten ses ikke i gemte filer eller i nogen markeringer som du vil kopiere og indsætte.
Teksten "<Merge Conflict>" vises i klippebordet hvis du kopierer og indsætter noget tekst som indeholder en sådan linje. Men vær satdig forsigtig med at gøre det.

Vælg inddata A, B eller C for alle konflikter
Den normale sammenfletning vil starte med at løse simple konflikter automatisk. Men "Flet"-menu sørger for handlinger for andre almindelige behov. Hvis du skal vælge samme kilde for de fleste konflikter, så kan du vælge"A", "B" eller "C" overalt, eller kun for de tiloversblevne uløste konflikter, eller for uløste konflikter med blanke tegn. Hvis du ønsker at afgøre hver lille forskel selv, kan du "Sætte lille forskel til konflikt". Eller hvis du ønsker at vende tilbage de automatiske valg udført af KDiff3 så vælg "Løs simple konflikter automatisk". KDiff3 starter så sammenfletningen forfra. For handlinger der ændrer dine tidligere ændringer vil KDiff3 bede om bekræftelse før den går videre.
Bemærk: Når en af kilderne for uløste konflikter med blanke tegn vælges og tilvalgene "Ignorér tal" eller "Ignorér C/C++ kommentarer" bruges så bliver ændringer i tal eller kommentarer også behandlet som blanke tegn.

Sammenflet automatisk nøgleord for versionshåndtering og historik (log)
Many version control systems support special keywords in the file. (e.g. "$Date$", "$Header$", "$Author$", "$Log$ >Many version control systems support special keywords in the file. (e.g. "$Date$", "$Header$", "$Author$", "Revision 1.2 2006/04/10 08:33:34 joachim99 >Many version control systems support special keywords in the file. (e.g. "$Date$", "$Header$", "$Author$", "KDiff3 0.9.89 >Many version control systems support special keywords in the file. (e.g. "$Date$", "$Header$", "$Author$", "" etc.) During the check-in the version control system (VCS) changes these lines. For instance "$Date$" will turn into "$Date$". Since this line will be different in every version of the file, it would require manual interaction during the merge.
Kdiff3 tilbyder automatisk sammenfletning af disse indgange. For enkle linjer som matcher tilvalget "Regulært udtryk for automatisk sammenfletning" i alle inddatafiler vælger Kdiff3 linjen fra B, eller om tilgængelig, den fra C. (Desuden er det nødvendigt at linjerne det drejer sig om linjes op i sammenligningen og at foregående linje ikke indeholder en konflikt.) Den automatiske sammenfletning kan enten udføres med det samme når sammenfletningen startes (aktivér tilvalget "Kør automatisk sammenfletning med regulært udtryk når sammenfletning starter") eller senere via "Kør automatisk sammenfletning med regulært udtryk" i menuen Sammenflet.
Automatisk sammenfletning for versionshåndteringshistorik (også kaldet "log") understøttes også. Automatisk sammenfletning af historik kan enten udføres med det samme når sammenfletningen startes ved at aktivere tilvalget "Sammenfletning ifølge versionshåndteringshistorik når sammenfletning starter" eller senere via "Løs automatisk historikkonflikter" i menuen Sammenflet.
Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "$Log$ >Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "Revision 1.2 2006/04/10 08:33:34 joachim99 >Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "KDiff3 0.9.89 >Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "". Den skal matches af tilvalget "Regulært udtryk for historikkens begyndelse". Kdiff3 detekterer hvilke efterfølgende linjer som indgår i historikken ved at analysere de indledende tegn som fandtes før nøgleordet "$Log$ >Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "$Log$". Den skal matches af tilvalget "Regulært udtryk for historikkens begyndelse". Kdiff3 detekterer hvilke efterfølgende linjer som indgår i historikken ved at analysere de indledende tegn som fandtes før nøgleordet "Revision 1.2 2006/04/10 08:33:34 joachim99 >Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "$Log$". Den skal matches af tilvalget "Regulært udtryk for historikkens begyndelse". Kdiff3 detekterer hvilke efterfølgende linjer som indgår i historikken ved at analysere de indledende tegn som fandtes før nøgleordet "KDiff3 0.9.89 >Oftest begynder versionshåndteringshistorikken med en linje som indeholder nøgleordet "$Log$". Den skal matches af tilvalget "Regulært udtryk for historikkens begyndelse". Kdiff3 detekterer hvilke efterfølgende linjer som indgår i historikken ved at analysere de indledende tegn som fandtes før nøgleordet "". Hvis samme "indledende kommentar" også findes på følgende linjer inkluderes de også i historikken.
Ved hver arkivering skriver VCS en entydig linje som angiver version, dato- og tidsinformation fulgt af linjer med brugerens kommentarer. Disse linjer udgør en historikindgang. Historikafsnittet vokser ved hver arkivering og de seneste indgange vises længst oppe (efter historikkens startlinje).
Når to udvikler arkiverer grene af en fil under parallel udvikling, kommer historikken for sammenfletning til at indeholde flere indgange som vises som konflikter under sammefletning af grenene. Eftersom sammenfletning af dem kan blive meget trættende, tilbyder Kdiff3 understøttelse for den med to mulige strategier: Blot indsætte historikinformationen fra begge bidragsyderne længst oppe, eller sortere historikinformationen ifølge en brugerdefineret nøgle.
Metoden kun at indsætte alle indgange er nemmest at indstille. Kdiff3 behøver kun en metode til at detektere hvilke linjer som hører til en historikindgang. De fleste VCS indsætter en tom linje efter hver historikindgang. Hvis der ikke findes andre tomme linjer, er det en tilstrækkelig betingelse for Kdiff3. Angiv blot et tomt "Regulært udtryk for historikkens begyndelse". Hvis kriteriet med en tom linje ikke er tilstrækkeligt kan du angive et regulært udtryk for at detektere historikindgangen begyndelse.
Hvis du vil sortere historikken skal du angive hvordan sorteringsnøglen skal bygges. Brug parenteser som i "Regulært udtryk for historikindgangens begyndelse" for at gruppere dele af det regulære udtryk som senere skal bruges i sorteringsnøglen. Angiv derefter "Sorteringsnøglernes rækkefølge fra historikindgangens begyndelse" med en liste af tal som refererer til gruppens position i det regulære udtryk adskilt af kommategn ",".
Eftersom det ikke er så enkelt at få det rigtigt med det samme, kan du teste og forbedre det regulære udtryk og nøglegenereringen i en særlig dialog ved at klikke på knappen "Test dine regulære udtryk".
Antag at historikken ser ud så her:

/**************************************************************************
** HISTORIK:    $Log$
** HISTORIK:    Revision 1.2  2006/04/10 08:33:34  joachim99
** HISTORIK:    KDiff3 0.9.89
** HISTORIK:
**
**     \head\integreringsgren_12   2 Apr 2001 10:45:41   tom
**  Sammenflettede grenen simongren_15.
**
**     \main\henry_felretningsgren_7\1   30 Mar 2001 19:22:05   henry
**  Forbedrede hastigheden for delrutinen forvandleTil().
**  Ordnede sammenbrud.
**************************************************************************/

Historikkens indledende linje matcher det regulære udtryk ".*\$Log.*\$.*". Derefter følger historikindgangene.
Linjen med nøgleordet "$Log$ >Linjen med nøgleordet "Revision 1.2 2006/04/10 08:33:34 joachim99 >Linjen med nøgleordet "KDiff3 0.9.89 >Linjen med nøgleordet "" begynder med to "*" og derefter følger et mellemrum. Kdiff3 bruger den første streng uden blanke tegn som "indledende kommentar" og antager at historikken slutter med den første linje uden denne indledende kommentar. I eksemplet slutter den sidste linje med en streng som også begynder med to "*", men i stedet for et mellemrum følger flere "*". Derfor afslutter denne linje historikken.
Hvis sortering af historikken ikke kræves kan det regulære udtryk for historikindgangens begyndelsen se sådan her ud. (Linjen er delt i to eftersom den ikke ville få plads ellers.)

\s*\\main\\\S+\s+[0-9]+ (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
 [0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]\s+.*

For detaljer om regulære udtryk se Trolltechs dokumentation af regulære udtryk. Bemærk at "\s" (med et lille "s") matcher alle blanke tegn og "\S" (med et stort "S") matcher alle tegn som ikke er blanke. I vort eksempel indeholder historikindgangens begyndelse først versionsinformation med det regulære udtryk "\\main\\\S+", datoen som består af dagen "[0-9]+", månaden "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)" og året "[0-9][0-9][0-9][0-9]", tiden "[0-9][0-9]:[0-9][0-9]:[0-9][0-9]" og til sidst udviklerens brugernavn ".*". Bemærk at den indledende kommentar (i eksemplet "**") allerede er fjernet af Kdiff3 inden matcheforsøget, derfor begynder det regulære udtryk med at matche et eller flere blanke tegn "\s*".
Hvis du kræver sorteret historik skal sorteringsnøglen beregnes. For at gøre dette skal relevante dele i det regulære udtryk grupperes med parenteser. (De ekstra parenteser kan også forblive hvis historiksortering deaktiveres.)

\s*\\main\\(\S+)\s+([0-9]+) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)
 ([0-9][0-9][0-9][0-9]) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9])\s+(.*)

Parenteserne indeholder nu 1. versionsinformation, 2. dag, 3. måned, 4. år, 5. tid, 6. navn. Men hvis vi vil sortere efter dato og tid skal vi oprette en nøgle med elementerne synlige i en anden rækkefølge: Først året, fulgt af måned, dag, tid, versionsinformation og navn. Derfor skal sorteringsnøglens rækkefølge som angives være "4,3,2,5,1,6".
Eftersom månednavne ikke er gode at sortere efter ("Apr" ville være først) detekterer Kdiff3 hvilken rækkefølge månednavnene angives og bruger dette nummer i stedet for ("Apr"->"04"). Og hvis et rent nummer findes forvandles det til en fireciffers værdi med indledende nuller for sortering. Endelig bliver den resulterende sorteringsnøgle for den første historikindgangens indledende linje:

2001 04 0002 10:45:41 integreringsgren_12   tom

For mere information, se også Opsætning af sammenlign og sammenflet.

Navigering og redigering
Meget navigering gøres med rullelisterne og musen, men du kan også navigere med tastaturet. Hvis du klikker på et vindue kan du bruge markørtasterne venstrepil, højrepil, opadpil, nedadpil, Page Up, Page Down, Home, End, Ctrl+Home og Ctrl+End ligesom du kan i andre programmer. Sammenfatningssøjlen ved siden af inddatafilernes lodrette rulleliste kan også bruges til at navigere ved at klikke i den.
Du kan også bruge musehjulet til at rulle opad og nedad.
I editoren for fletning kan du også bruge andre taster til redigering. Du kan skifte mellem indsætnings- og erstatningstilstand med Insert-tasten. (Normaltilstanden er at indsætte.)
Et klik med venstre museknap i en sammenfatningssøjle synkroniserer alle vinduer til at vise begyndelsen af samme gruppe af linjer (som forklaret i afsnittet Indstil nuværende gruppe og synkronisér sammenfletnings- og sammenligningsvisningens position).
Værktøjslinjen indeholder også ni navigeringsknapper som du kan bruge til at gå til nuværendel/førsea/sidste forskel, til næste/foregående forskel (Ctrl+Nedadpil eller Ctrl+Opadpil), til næste/foregående konflikt (Ctrl+Page Down eller Ctrl+Page Up) eller til næste/foregående uløste konflikt. Bemærk at for Kdiff3 forbliver en "konflikt" som ikke automatisk blev løst ved start af sammenfletningen altid en "konflikt" også selvom den er løst. Deraf nødvendigheden af at skelne "uløste konflikter".

Automatisk fortsættelse
Der er også en knap som hedder "Gå automatisk til næste uløste konflikt efter valg af kilde" (automatisk fortsættelse). Hvis du aktiverer dette, så går KDiff3 automatisk til næste uløste konflikt når en kilde vælges. Dette kan hjælpe til når du kun vil vælge en kilde. Når du behøver begge kilder, eller du vil redigere efter valget, bør du formodentlig slå dette fra. Inden KDiff3 fortsætter til næste uløste konflikt, vises effekten af valget en kort tid. Denne forsinkelse kan justeres i indstillingerne under Sammenlign og sammenflet. Du kan angive Forsinkelse ved automatisk fortsættelse i millisekunder mellem 0 og 2000.

Markér, kopiér og indsæt
Inddatavinduerne viser ikke nogen markør, så markeringer skal udføres med musen, ved at klikke med venstre museknap på begyndelsen, holde museknappen nede og gå til slutningen, hvor museknappen slippes igen. Du kan også markere et ord ved at dobbeltklikke på det. I editoren for sammenfletningsuddata kan du også markere med tastaturet, ved at holde shift-tasten nede og navigere med piletasterne.
For at kopiere til klippebordet skal du trykke på knappen "Kopiér" (Ctrl+C eller Ctrl+Insert). Men der er et tilvalg som hedder "Kopiér automatisk markering". Hvis det er aktiveret, kopieres hvad du end vælger med det samme, og du behøver aldrig eksplicit kopiere. Men vær forsigtig når du bruger dette, eftersom klippebordets indhold kan ødelægges ved en fejl.
"Klip ud" (Ctrl+X eller Shift+Delete) kopierer til klippebordet og fjerner markeret tekst, mens "Indsæt" (Ctrl+V eller Shift+Insert) indsætter teksten fra klippebordet på markørpositionen eller over nuværende markering.

Gemmer
At gemme tillades kun når alle konflikter er løste. Hvis filen allerede findes og tilvalget "Sikkerhedskopiér filer" er markeret, ændres originalversionens navn med tilføjelse af filendelsen .orig, og hvis en sådan fil allerede findes fjernes den. Når du afslutter eller starter en ny sammenligningsanalyse og data ikke er gemt endnu, spørger Kdiff3 om du vil gemme, annullere eller fortsætte uden at gemme. (Kdiff3 fanger ingen signaler, så hvis du "dræber" Kdiff3 går data tabt.)
Linjeslut gemmes ifølge den normale metoden i det underliggende operativsystem. For Unix slutter hver linje med et nylinjetegn "\n", mens for Windows-baserede systemer slutter hvert linje med et returtegn og et nylinjetegn "\r\n". Kdiff3 beholder ikke linjeslut for inddatafilerne, hvilket også betyder at du ikke skal bruge Kdiff3 med binære filer.

Søg efter strenge
Du kan søge efter en streng i et hvilket som helst tekstvindue i Kdiff3. Kommandoen "Søg..." (Ctrl+F) i menuen Redigér, viser en dialog som lader dig angive strengen at søge efter. Du kan også vælge de vinduer som skal søges. Søgning starter altid fra begyndelsen. Brug kommandoen "Søg igen" (F3) for at fortsætte til næste forekomst. Hvis du vælger at søge i flere vinduer, gennemsøges det første vindue fra begyndelsen til slutningen inden søgningen fortsætter fra begyndelsen i næste vindue, osv.

Udskrift
Kdiff3 understøtter udskrift af forskelle mellem tekstfiler. Kommandoen "Skriv ud..." (Ctrl+P) i menuen Fil viser en dialog som lader dig vælge printer og justere andre tilvalg.
Der er flere muligheder for at justere området. Afhængig af forskellige udskriftsdialoger på forskellige operativsystemer, varierer metoden for at opnå valg af et vist område.
Alle:	Udskriv alt.
Nuværende:	Udskriv en side som begynder på den første synlige linje i vinduet. (På systemer uden dette tilvalg kan dette opnås ved at angive sidenummeret 10000 for udskrift.)
Markering:	Inden du vælger at udskrive, markeres tekst med musen (som for kopiere og indsætte) i et af sammenligningsvinduerne for at definere start- og slutlinje. Hvis ingen tekst er markeret i et af sammenligningsvinduerne, er dette tilvalg ikke tilgængeligt. (På systemer uden dette tilvalg kan dette opnås ved at angive sidenummeret 9999 for udskrift.)
Område:	Angiv første og sidste side.
Andre vigtige indstillinger for udskrift tages fra de normale indstillinger:
Skrifttype, tegnstørrelse
Vis linjenummer
Linjebrud
Farver
osv.
Landskabsformatering anbefales også for udskrift.

Tilvalg
Tilvalg og listen med nylige filer gemmes når du afslutter programmet, og indlæses igen når du starter det. (Menuen Opsætning->Indstil KDiff3 ...)

Skrifttype
Vælg en skrifttype med fast bredde. (På visse systemer viser dialogen også skrifttyper med variabel bredde, men du bør ikke bruge dem.)
Kursiv stil for forskelle:	Hvis du markerer dette, vises tekstforskelle med kursiv versionen af den valgte skrifttype. Hvis skrifttypen ikke understøtter kursiv stil, gør dette ingenting.

Farver
Forgrundsfarve:	Oftest sort.
Baggrundsfarve:	Oftest hvid.
Baggrundsfarve for sammenligning:	Oftest lysegrå.
Farve A:	Oftest mørkeblå.
Farve B:	Oftest mørkegrøn.
Farve C:	Oftest mørk magenta.
Konfliktfarve:	Oftest rød.
Baggrundsfarve for nuværende område:	Oftest lysegul.
Baggrundsfarve for nuværende sammenligningsområde:	Oftest mørkegul.
Farve for manuelt valgte sammenligningsområder:	Oftest orange.
Farve for nyeste fil i mappesammenligning:	Oftest grøn.
Farve for ældste fil i en mappesammenligning:	Oftest rød.
Farve for middelgamle filer i en mappesammenligning:	Oftest mørkegul.
Farve for manglende filer i et mappesammenligning:	Oftest sort.
At ændre farverne for mappesammenligninger får ikke nogen virkning før end næste mappesammenligning startes.
For systemer med kun 16 eller 256 farver er visse rene farver ikke tilgængelige. For sådanne systemer vælger knappen "Standard" en ren farve.

Opsætning af editor
Tabulator indsætter mellemrum:	Hvis dette ikke er markeret, og du trykker på tabulatortasten, indsættes en tabulator, ellers indsættes et passende antal mellemrum.
Tabulatorbredde:	Kan justeres efter dine specielle behov. Normalværdien er 8.
Automatisk indrykning:	Når du trykker på Enter eller returtasten, bruges foregående linjes indrykning for den nye linje.
Kopiere markering automatisk:	Hver markering kopieres med det samme til klippebordet når dette aktiveres, og du behøver ikke kopiere den eksplicit.
Stil for linjeafslutning:	Når du gemmer kan du vælge den stil for linjeafslutning du foretrækker. Standardindstillingen er det almindelige valg for det operativsystem der bruges.

Opsætning af sammenligning og fletning
Når filer sammenlignes forsøger KDiff3 først at matche linjer som er ens i alle inddatafiler. Det er kun under dette skridt at blanke tegn kan ignoreres. Det næste skridt sammenligner hver linje. Under dette skridt ignoreres blanke tegn ikke. Under sammenfletning ignoreres blanke tegn heller ikke.
Behold returtegn:	Visse editorer (på visse systemer) gemmer returtegn '\r' og nylinjetegn '\n' i slutningen på linjen, mens andre kun gemmer nylinjetegnet '\n'. Oftest ignorerer KDiff3 returtegnet, men så ser filer som ikke har samme størrelse ens ud ved sammenligning side for side. Når dette tilvalg er markeret, gøres returtegn synlige, men behandles som blanke tegn. Dette tilvalg skal være slået fra under en sammenfletning. Standardværdien er fra.
Ignorér cifre:	Standardværdien er fra. Ciffertegn ('0'-'9','.','-') ignoreres under første del af analysen når linjematchningen udføres. Forskellene for resultatet vises alligevel, men de behandles som blanke tegn.
Ignorér C/C++ kommentarer:	Normalværdien er fra. Ændringer i kommentarer vil blive behandlet ligesom ændringer i blanke tegn.
Ignorér versaltype:	Standardværdien er fra. Ændringer i versaltilstand for tegn (såsom 'A' eller 'a') håndteres som ændringer i blanke tegn.
Præprocessorkommando:	Se næste afsnit.
Præprocessorkommando for linjematchning:	Se næste afsnit.
Prøv hårdt:	Prøv hårdt at finde selv små fejl. (Normalt slået til.) Det er formodentlig effektivt for komplicerede og store filer, og langsomt for meget store filer.
Forsinkelse ved automatisk fortsættelse (ms):	I automatisk fortsættelsestilstand angiver denne indstilling hvor længe resultatet for gruppen skal vises inden der hoppes til næste uløste konflikt.
Blanke tegn 2/3-fil fletningsstandard:	Løs automatisk alle konflikter for blanke tegn ved at vælge angiven fil. (Standardværdien er manuelt valg.) Nyttigt hvis blanke tegn virkelig ikke er vigtige i mange filer. Hvis du kun behøver det ind iblandt, er det bedre at bruge "Vælg A/B/C for uløste konflikter med blanke tegn" i menuen "Sammenflet". Bemærk at hvis du enten aktiverer Ignorér cifre eller "Ignorere C/C++ kommentarer" gælder det automatiske valg også ved konflikter for cifre eller kommentarer.
Regulært udtryk for automatisk sammenfletning:	Regulært udtryk for linjer hvor Kdiff3 automatisk skal vælge en kilde. Se også Automatisk sammenfletning ...
Kør automatisk sammenfletning med regulært udtryk når sammenfletning starter:	Hvis aktiveret udfører Kdiff3 den automatiske sammenfletning med "Regulært udtryk for automatisk sammenfletning" når en sammenfletning startes.
Regulært udtryk for historikkens begyndelse:	Regulært udtryk for begyndelsen af historikindgangen for sammenfletning. Som oftest indeholder linjen nøgleordet "$Log$ >Regulært udtryk for begyndelsen af historikindgangen for sammenfletning. Som oftest indeholder linjen nøgleordet "Revision 1.2 2006/04/10 08:33:34 joachim99 >Regulært udtryk for begyndelsen af historikindgangen for sammenfletning. Som oftest indeholder linjen nøgleordet "KDiff3 0.9.89 >Regulært udtryk for begyndelsen af historikindgangen for sammenfletning. Som oftest indeholder linjen nøgleordet "". Standardværdi: ".*\$Log.*\$.*"
Regulært udtryk for historikindgangens begyndelse:	En historikindgang for sammenfletning består af flere linjer. Angiv det regulære udtryk for at detektere den første linje (uden indledende kommentar). Brug parenteser for at gruppere nøglerne du vil bruge til sortering. Hvis det efterlades tomt, antager Kdiff3 at tomme linjer skiller historikindgangene ad. Se også Automatisk sammenfletning ...
Sortering af historiksammenfletning:	Aktivér sortering af versionshåndteringshistorik.
Sorteringsnøglernes rækkefølge fra historikindgangens begyndelse:	Hver parentes som bruges i det regulære udtrykket for historikkens startindgang grupperer en nøgle som kan bruges til sortering. Angiv listen med nøgler (som nummereres i rækkefølge de optræder med begyndelsen på 1) med ',' som skilletegn (f.eks. "4,5,6,1,2,3,7"). Hvis det efterlades tomt udføres ingen sortering. Se også Automatisk sammenfletning ...
Sammenfletning ifølge versionshåndteringshistorik når sammenfletningen starter:	Hvis aktiveret udfører Kdiff3 den automatiske sammefletning af historik med tidligere nævnte tilvalg når en sammenfletning startes.
Test dine regulære udtryk	Denne knap viser en dialog som lader dig forbedre og teste det regulære udtryk ovenfor. Kopiér blot de respektive data fra dine filer til eksempellinjerne. "Matcheresultaterne" viser med det samme om det lykkes at matche eller ej. "Sorteringsnøgleresultat" viser nøglen som bruges til sortering ved sammenfletning af historik.
Irrelevant sammenfletningskommando:	Angiv en egen kommando som skal kaldes når Kdiff3 detekterer at filen fra B ikke bidrager med relevant data som ikke allerede findes i filen fra C. Denne kommando kaldes med de tre filnavne som parametre. Data som matches af "Regulært udtryk for automatisk sammenfletning" eller i historikken anses ikke for at være relevant.

Mappefletning
Disse valgmulighederne har at gøre med gennemsøgning af mappen og håndtering af sammenfletningen: Se Mappesammenligning og sammenfletning for detaljer.
Der er endnu en valgmulighed her som også er relevant for at gemme enkelte filer:
Sikkerhedskopiér filer:	Når en fil gemmes og en ældre version allerede eksisterer, ændres originalversionens navn med tilføjelse af filendelsen ".orig". Hvis en gammel sikkerhedskopi med ".orig" allerede eksisterer slettes den uden sikkerhedskopiering.

Indstillinger for region og sprog
Sprog:	Justér brugergrænsefladens sprog. At ændre dette påvirker ikke programmet som kører. Du skal afslutte og genstarte KDiff3 for at ændre sprog. (Dette er ikke tilgængeligt i -versionen af KDiff3, eftersom sproget kan justeres i de generelle -indstillinger.)
Brug samme kodning til alt:	Følgende kodningstilvalg kan justeres separat for hvert objekt, eller hvis tilvalget er sandt, indstilles alle værdier til den første værdi.
Lokal kodning:	Ovenfor kodningsvælgerne vises en note som fortæller dig hvad den lokale kodning er (Den kan ikke justeres, men er kun til information hvis du ikke ved hvad den lokale kodning er, men har brug for at kunne vælge den.)
Filkodning for A/B/C:	Justér filkodningen for inddatafiler. Dette har en effekt på hvordan specialtegn tolkes. Eftersom du kan justere hvert kodning separat, kan du til og med sammenligne og sammenflette filer som blev gemt med forskellige kodninger.
Filkodning for sammenflettet uddata og ved at gemme:	Når du har redigeret en fil, kan du justere hvilken kodning som bruges når den gemmes til disk.
Filkodning for præprocessorfiler:	Når du definerer præprocessorer, kan de måske ikke håndtere din kodning (eksempelvis hvis dine filer bruger 16-bit Unicode og præprocessoren kun kan håndtere 8-bit ASCII). Med dette kan du definere kodningen for præprocessorens uddata.
Sprog som læses fra højre til venstre	Visse sprog skrives fra højre til venstre. Når dette er aktiveret, tegner KDiff3 tekst fra højre til venstre i sammenligningsvinduerne og i sammenfletningsvinduet. Bemærk at hvis du starter KDiff3 med kommandolinjeflaget "--reverse" så vises al layout også fra højre til venstre. (Dette er en funktion som sørger for.) Denne dokumentation er skrevet under antagelse af at "Sprog som læses fra højre til venstre" eller omvendt layout ikke er aktiverede. Visse referencer til "venstre" eller "højre" skal erstattes af det modsatte hvis du bruger disse valgmuligheder.

Diverse
(Disse tilvalg og handlinger er tilgængelige i menuerne eller værktøjslinjen.)
Vis linjenummer:	Du kan vælge om linjenummer skal vises for inddatafilerne.
Vis mellemrum og tabulatortegn i sammenligning:	Sommetider er synlige mellemrum og tabulatortegn forstyrrende. Du kan slå dette fra.
Vis blanke tegn:	Luk af for dette for ikke at vise ændringer af kun blanke tegn i teksten eller oversigtssøjlerne. (Bemærk at dette også gælder ændringer af cifre eller kommentarer hvis valgmulighederne "Ignorér cifre" eller "Ignorér C/C++ kommentarer" er aktive.)
Overblikstilvalg:	Disse tilvalg er kun tilgængelige når du sammenligner tre filer. I standardtilstand vises alle forskelle i en farvekodet oversigtssøjle, men sommetider er du især interesseret i forskellene mellem to af de tre filer. Ved at vælge oversigten "A mod B", "A mod C" eller "B mod C" vises en anden oversigtssøjle med den forespurgte information ved siden af den almindelige oversigt.
Tekstombrydning af diff-vinduer:	Ombryd linjer når deres længde ville have været større end vinduets bredde.
Vis vindue A/B/C:	Sommetider vil du gerne bruge skærmpladsen bedre for lange linjer. Skjul vinduer som ikke er vigtige. (I menuen Vinduer.)
Skift opdelingsorientering:	Skift mellem sammenligningsvinduer som vises ved siden af hinanden (A til venstre for B til venstre for C) eller ovenfor hinanden (A over B over C). Dette bør også hjælpe med lange linjer. (I menuen Vinduer.)
Start sammenfletning hurtigt:	Sommetider kigger du på forskelle, og bestemmer dig for at sammenflette. "Sammenflet denne fil" i menuen Mappe virker også hvis du kun sammenligner to filer. Et enkelklik starter sammenfletningen og bruger filnavnet på den sidste inddatafil som standarduddatafilnavn. (Når dette bruges til at genstarte en sammenfletning, beholdes uddatafilnavnet.)

Indstil genvejstaster
For øjeblikket understøtter kun -versionen indstillelige genvejstaster (Menuen Opsætning->Indstil genveje...)

Præprocessorkommandoer
KDiff3 understøtter to præprocessortilvalg.
Præprocessorkommando:	Når en fil læses, sendes den via denne eksterne kommando. Uddata fra denne kommando vises i stedet for den oprindelige fil. Du kan skrive din egen præprocessor som opfylder dine specielle behov. Brug dette til at fjerne forstyrrende dele af filen, eller for automatisk at korrigere indrykning, osv.
Præprocessorkommando for linjematchning:	Når en fil læses, sendes den via denne eksterne kommando. Hvis en præprocessorkommando (se ovenfor) også angives er udskriften fra præprocessoren input til kommandoen for linjematchning. Udskriften bruges kun under linjematchningsfasen af analysen. Du kan skrive din egen præprocessor som opfylder dine specielle behov. Hvert inddatalinje skal have en tilsvarende uddatalinje.
Idéen er at tillade brugeren større fleksibilitet mens diff-resultatet indstilles. Men dette kræver et eksternt program, og mange brugere ønsker ikke selv at skrive et sådant. Heldigvis er det meget ofte sådan at sed or perl vil kunne klare det.
For eksempel et enkelt tilfælde at teste: Betragt filen a.txt (6 linjer):

      aa
      ba
      ca
      da
      ea
      fa

Og filen b.txt (3 linjer):

      cg
      dg
      eg

Uden en præprocessor ville følgende linjer placeres ud for hinanden:

      aa - cg
      ba - dg
      ca - eg
      da
      ea
      fa

Det er formodentlig ikke det der ønskes eftersom det første bogstav indeholder den interessante information. For at hjælpe matchealgoritmen med at ignorere det andet bogstav kan man bruge en linjematchende præprocessorkommando som erstatter 'g' med 'a':

   sed 's/g/a/'

Med den kommando bliver resultatet af at matche:

      aa
      ba
      ca - cg
      da - dg
      ea - eg
      fa

Internt ser matchealgoritmen filerne efter den linjematchende præprocessor er kørt, men på skærmen er filen uforandret. (Den normale præprocessor ville også ændre data på skærmen.)

Basal sed
Dette afsnit introducerer blot nogle meget grundlæggende funktioner i sed. For mere information se info:/sed eller http://www.gnu.org/software/sed/manual/html_mono/sed.html. En forkompileret version for eksisterer på http://unxutils.sourceforge.net. Bemærk at følgende eksempel antager at sed eksisterer i en mappe i miljøvariablen PATH. Hvis dette ikke er tilfældet, skal du angive fuldstændig absolut søgesti til kommandoen.
Bemærk også at følgende eksempel bruger enkle citationstegn ('), hvilket ikke virker i Windows. I Windows skal du i stedet bruge dobbelte citationstegn (").
I denne sammenhæng bruges kun erstatningskommandoen i sed:

   sed 's/REGUDTRYK/ERSTATNING/FLAG'

Inden du bruger en ny kommando inde i Kdiff3, bør du først teste den i en terminal. Her er kommandoen echo nyttig. For eksempel:

   echo abrakadabra | sed 's/a/o/'
   -> obrakadabra

Dette eksempel viser en meget enkel sed-kommando som erstatter den første forekomst af "a" med "o". Hvis du vil erstatte alle forekomster behøver du flaget "g":

   echo abrakadabra | sed 's/a/o/g'
   -> obrokodobro

Symbolet "|" er en pipe-kommando som overfører uddata fra foregående kommando til inddata i efterfølgende kommando. Hvis du vil teste med en længere fil kan du bruge cat på Unix-lignende systemer eller type på Windows-lignende systemer. sed udfører erstatningen for hver linje.

cat filnavn | sed flag

Eksempel på brug af sed i KDiff3

Ignorering af andre typer kommentarer
For øjeblikket forstår Kdiff3 kun C/C++ kommentarer. Ved at bruge en linjematchende præprocessorkommando kan du også ignorere andre typer af kommentarer ved at konvertere dem til C/C++ kommentarer. For eksempel for at ignorere kommentarer som begynder med "#", skulle du ville konvertera dem til "//". Bemærk at du også skal aktivere tilvalget "Ignorér C/C++ kommentarer" for at få nogen virkning. En passende linjematchende præprocessorkommando ville være:

   sed 's/#/\/\//'

Eftersom tegnet "/" har en særlig betydning i sed, er det nødvendigt at tilføje tegnet "\" inden hver "/" i erstatningsstrengen. Sommetider behøves "\" for at tilføje eller fjerne en særlig betydning for visse tegn. De enkle citationstegn (') inden og efter erstatningskommandoen er nu vigtige, eftersom skallen ellers ville forsøge at tolke visse specialtegn som '#', '$' eller '\' inden de sendes til sed. Bemærk at i Windows behøver du dobbelte citationstegn (") her. Windows erstatter andre tegn som '%', så du kan få brug for at eksperimentere noget.

Ikke versalfølsom Diff
Brug følgende linjematchende præprocessorkommando til at forvandle al inddata til store bogstaver:

   sed 's/\(.*\)/\U\1/'

Her er ".*" et regulært udtryk som matcher alle strenge, og i denne sammenhæng matcher alle tegn på linjen. Tegnet "\1" i erstatningsstrengen svarer til den matchede tekst mellem det første par "\(" og "\)". "\U" konverterer den indsatte tekst til store bogstaver.

Ignorering af nøgleord for versionskontrol
CVS og andre versionshåndteringssystemer bruger flere nøgleord til at indsætte automatisk genererede strenge (info:/cvs/Keyword substitution). Alle følger mønstret "$NØGLEORD genereret tekst$". Nu behøver vi en linjematchende præprocessorkommando som kun fjerner den genererede tekst:

   sed 's/\$\(Revision\|Author\|Log\|Header\|Date\).*\$/\$\1\$/'

Strengen "\|" skiller de mulige nøgleord ad. Du vil måske ændre listen ifølge dine behov. Tegnet "\" ud for "$" behøves eftersom "$" ellers matcher linjeslut.
Mens du eksperimenterer med sed kommer du måske til at forstå og endog at kunne lide disse regulære udtryk. De er nyttige fordi der er mange andre programmer der også understøtter lignende ting.

Ignorér cifre
At ignorere tal er i virkeligheden et indbygget tilvalg, men som et andet eksempel, vises hvordan det ville se ud som en linjematchende præprocessorkommando.

   sed 's/[0123456789.-]//g'

Alle tegn indenfor '[' og ']' matcher og vil blive erstattet af ingenting.

Ignorering af visse søjler
Sommetider er teksten meget strengt formateret, og indeholder søjler som du altid vil ignorere, mens der er andre søjler du vil bevare for analyse. I følgende eksempel ignoreres de fem første søjler (tegn), de følgende ti søjler bevares, derefter ignoreres igen fem søjler og resten af linjen bevares.

   sed 's/.....\(..........\).....\(.*\)/\1\2/'

Hvert punktum '.' svarer til et hvilket som helst enkelt tegn. Strengene "\1" og "\2" i erstatningsstrengen refererer til den matchende tekst indenfor det første og andre par af "\(" og "\)" som angiver teksten at bevare.

Kombination af flere substitutioner
Sommetider vil du tilpasse flere erstatninger samtidigt. Så kan du bruge semikolon ';' for at skille dem fra hinanden. For eksempel:

echo abrakadabra | sed 's/a/o/g;s/\(.*\)/\U\1/'
 -> OBROKODOBRO

Brug af perl i stedet for sed
I stællet for sed måske du vil bruge noget andet som perl.

   perl -p -e 's/REGUTTRYCK/ERSÆTTNING/FLAGGOR'

Men visse detaljer er anderledes i perl. Bemærk at hvor sed behøver "\(" og "\)" kræver perl det enklare "(" og ")" uden indledende '\'. Till eksempel:

sed 's/\(.*\)/\U\1/'
  perl -p -e 's/(.*)/\U\1/'

Rækkefølge for præprocessor-udførsel
Data sendes gennem alle interne og eksterne præprocessorer i følgende rækkefølge:
Normal præprocessor,
Præprocessor for linjematchning,
Ignorér versaler (konvertér til store bogstaver),
Detektion af C/C++ kommentarer,
Ignorér cifre,
Ignorér blanke tegn
Data efter den normale præprocessor vil blive bevaret til visning og indfletning. De andre operationer ændrer kun de data som den linjematchende diff-algoritme ser.
I de sjældne tilfælde hvor du bruger en normal præprocessor, bemærk at den linjematchende præprocessor ser uddata fra den normale præprocessor som inddata.

Advarsel
Forbehandlingskommandoer er ofte meget nyttige, men som med alle tilvalg som ændrer teksten eller skjuler visse forskelle automatisk, kan du ved en fejl springe over visse forskelle og i værste fald ødelægge vigtige data.
Af denne grund, hvis en normal præprocessorkommando bruges under en sammenfletning, fortæller KDiff3 dig om det og spørger om det skal deaktiveres eller ej. Men du får ingen advarsel hvis en linjematchende præprocessorkommando er aktiv. Sammenfletningen sker ikke førend alle konflikter er løste. Hvis du deaktiverede "Vis blanke tegn" bliver også forskellene som blev fjernet med den linjematchende præprocessorkommando usynlige. Hvis knappen Gem forbliver inaktiv under en sammenfletning (på grund af tilbageværende konflikter), så sørg for at aktivere "Vis blanke tegn". Hvis du ikke vil sammenflette disse mindre vigtige forskelle manuelt kan du vælge "Vælg [A|B|C] for uløste konflikter med blanke tegn" i menuen "Sammenflet".