The following variables control the way Ediff highlights difference regions:
tto make sure that Ediff uses faces to highlight differences.
nil. Type h to restore highlighting for all differences.
Ediff lets you switch between the two modes of highlighting. That is, you can switch interactively from highlighting using faces to highlighting using string flags, and back. Of course, switching has effect only under a windowing system. On a text-only terminal or in an xterm window, the only available option is highlighting with strings.
If you want to change the default settings for
ediff-highlight-all-diffs, you must do it before Ediff is
You can also change the defaults for the faces used to highlight the difference regions. There are two ways to do this. The simplest and the preferred way is to use the customization widget accessible from the menubar. Ediff's customization group is located under "Tools", which in turn is under "Programming". The faces that are used to highlight difference regions are located in the "Highlighting" subgroup of the Ediff customization group.
The second, much more arcane, method to change default faces is to include some Lisp code in ~/.emacs. For instance,
(setq ediff-current-diff-face-A (copy-face 'bold-italic 'ediff-current-diff-face-A))
would use the pre-defined face
bold-italic to highlight the current
difference region in buffer A (this face is not a good choice, by the way).
If you are unhappy with just some of the aspects of the default
faces, you can modify them when Ediff is being loaded using
ediff-load-hook. For instance:
(add-hook 'ediff-load-hook (lambda () (set-face-foreground ediff-current-diff-face-B "blue") (set-face-background ediff-current-diff-face-B "red") (make-face-italic ediff-current-diff-face-B)))
Please note: to set Ediff's faces, use only
set/make-face-... as shown above. Emacs's low-level
face-manipulation functions should be avoided.