Options

Options and the recent-file-list will be saved when you exit the program, and reloaded when you start it. (Menu Settings->Configure KDiff3 ...)

Font

Select a fixed width font. (On some systems this dialog will also present variable width fonts, but you should not use them.)

Italic Font for Deltas:

If you select this, then text differences will be drawn with the italic version of the selected font. If the font doesn't support italic, then this does nothing.

Colors

Foreground color:

Usually black.

Background color:

Usually white.

Diff Background color:

Usually light gray.

Color A:

Usually dark blue.

Color B:

Usually dark green.

Color C:

Usually dark magenta.

Conflict Color:

Usually red.

Current range background color:

Usually light yellow.

Current range diff background color:

Usually dark yellow.

On systems with only 16 or 256 colors some colors are not available in pure form. On such systems the "Defaults"-button will choose a pure color.

Editor Settings

Tab inserts spaces:

If this is disabled and you press the tabulator key, a tab-character is inserted, otherwise the appropriate amount of characters is inserted.

Tab size:

Can be adjusted for your specific needs. Default is 8.

Auto indentation:

When pressing Enter or Return the indentation of the previous line is used for the new line.

Auto copy selection:

Every selection is immediately copied to the clipboard when active and you needn't explicitely copy it.

Use locale encoding:

For displaying foreign characters. Try changing this if some characters of your language aren't displayed correctly.

Diff & Merge Settings

When comparing files, KDiff3 first it tries to match lines that are equal in all input files. Only during this step it might ignore white space. The second step compares each line. In this step white space will not be ignored. Also during the merge white space will not be ignored.

Preserve Carriage Return:

Some editors (on some systems) save carriage return '\r' and linefeed '\n'-characters at the end of line, while others will only save the linefeed '\n'. Usually KDiff3 ignores the carriage return, but then files that don't have equal sizes, look equal in side by side comparison. When this option is on, then the carriage return characters are made visible but are treated as white space. This option must be off during a merge. Default is off.

Ignore numbers:

Default is off. Number characters ('0'-'9', '.', '-') will be ignored in the first part of the analysis in which the line matching is done. In the result the differences will be shown nevertheless, but they are treated as white space.

Ignore C/C++ comments:

Default is off. Changes in comments will be treated like changes in white space.

Convert to Upper Case:

Default is off. Converts the input to upper case while reading. Hence the comparison is not case sensitive. Take care during merging because the case information will be lost in the merge-result too.

Preprocessor-Command:

When any file is read, it will be piped through this external command. The output of this command will be visible instead of the original file. You can write your own preprocessor that fulfills your specific needs. Use this to cut away disturbing parts of the file, or to automatically correct the indentation etc.

Line-Matching Preprocessor-Command:

When any file is read, it will be piped through this external command. If a preprocessor-command (see above) is also specified, then the output of the preprocessor is the input of the line-matching preprocessor. The output will only be used during the line matching phase of the analysis. You can write your own preprocessor that fulfills your specific needs. Each input line must have a corresponding output line.

Try Hard:

Try hard to find an even smaller delta. (Default is on.) This will probably be effective for complicated and big files. And slow for very big files.

Auto Advance Delay (ms):

When in auto-advance-mode this setting specifies how long to show the result of the selection before jumping to the next unsolved conflict.

White space 2/3-file merge default:

Automatically solve all white-space conflict by choosing the specified file. (Default is manual choice.) Useful if white-space really isn't important in many files. If you need this only occasionally better use "Choose A/B/C For All Unsolved Whitespace Conflicts" in the merge menu. Note that if you enable either "Ignore numbers" or "Ignore C/C++ comments" then this auto-choice also applies for conflicts in numbers or comments.

Directory Merge

These options are concerned with scanning the directory and handling the merge: See the Directory Comparison/Merge Docs for details.

Yet there is one option here that is also relevant for saving single files:

Backup files:

When a file is saved and an older version already exists, then the original version will be renamed with an ".orig" extension. If an old backup file with ".orig" extension already exists then this will be deleted without backup.

Miscellaneous

(These options and actions are available in menus or the buttonbar.)

Show line numbers:

You can select if line numbers should be shown for the input files.

Show space and tabulator characters for differences:

Sometimes the visible spaces and tabs are disturbing. You can turn this off.

Show white space:

Turn this off to suppress any highlighting of white-space-only changes in the text or overview-columns. (Note that this also applies to changes in numbers or comments if the options "Ignore numbers" or "Ignore C/C++ comments" are active.)

Show Window A/B/C:

Sometimes you want to use the space on the screen better for long lines. Hide the windows that are not important. (In the Windows-menu.)

Toggle Split Orientation:

Switch between diff windows shown next to each other (A left of B left of C) or above each other (A above B above C). This should also help for long lines. (In the Windows-menu.)

Start a merge quickly:

Sometimes you are viewing the deltas and decide to merge. "Merge current file" in the Directory-menu also works if you only compare two files. A single click starts the merge and uses the filename of the last input-file as the default output filename. (When this is used to restart a merge, then the output filename will be preserved.)

Configuring Keyboard-Shortcuts

Currently only the KDE-version supports user-configurable keyboard-shortcuts. (Menu Settings->Configure Shortcuts...)