Next: Notes on Heavy-duty Customization, Previous: Customizing the Mode Line, Up: Customization
Here are a few other variables for customizing Ediff:
ediff-split-window-functionsplit-window-vertically, but you can set it to
split-window-horizontally, if you so wish.
Ediff also lets you switch from vertical to horizontal split and back
interactively.
Note that if Ediff detects that all the buffers it compares are displayed in separate frames, it assumes that the user wants them to be so displayed and stops splitting windows. Instead, it arranges for each buffer to be displayed in a separate frame. You can switch to the one-frame mode by hiding one of the buffers A/B/C.
You can also swap the windows where buffers are displayed by typing
~.
ediff-merge-split-window-functionediff-split-window-function, but it defaults
to split-window-horizontally instead of
split-window-vertically.
ediff-make-wide-display-functionediff-make-wide-display-function for details. It is also
recommended to look into the source of the default function
ediff-make-wide-display.
You can toggle wide/regular display by typing m. In the wide
display mode, buffers A, B (and C, when applicable) are displayed in a
single frame that is as wide as the entire workstation screen. This is
useful when files are compared side-by-side. By default, the display is
widened without changing its height.
ediff-use-last-dirnil,
Ediff uses the default directory of the current buffer when it
prompts the user for file names. Otherwise, it will use the
directories it had previously used for files A, B, or C, respectively.
ediff-no-emacs-help-in-control-buffert, makes C-h
behave like the <DEL> key, i.e., it will move you back to the previous
difference rather than invoking help. This is useful when, in an xterm
window or a text-only terminal, the Backspace key is bound to C-h and is
positioned more conveniently than the <DEL> key.
ediff-toggle-read-only-functionThe default function that Ediff uses simply toggles the read-only property,
unless the file is under version control. For a checked-in file under
version control, Ediff first tries to check the file out.
ediff-make-buffers-readonly-at-startup nilt, all variant buffers are made read-only at Ediff startup.
ediff-keep-variantst, meaning that the buffers being compared or merged will
be preserved when Ediff quits. Setting this to nil causes Ediff to
offer the user a chance to delete these buffers (if they are not modified).
Supplying a prefix argument to the quit command (q) temporarily
reverses the meaning of this variable. This is convenient when the user
prefers one of the behaviors most of the time, but occasionally needs the
other behavior.
However, Ediff temporarily resets this variable to t if it is
invoked via one of the "buffer" jobs, such as ediff-buffers.
This is because it is all too easy to lose a day's work otherwise.
Besides, in a "buffer" job, the variant buffers have already been loaded
prior to starting Ediff, so Ediff just preserves status quo here.
Using ediff-cleanup-hook, one can make Ediff delete the variants
unconditionally (e.g., by making ediff-janitor into one of these hooks).
ediff-keep-tmp-versionsnil. If t, the versions of the files being
compared or merged using operations such as ediff-revision or
ediff-merge-revisions are not deleted on exit. The normal action is
to clean up and delete these version files.
ediff-grab-mouset. Normally, Ediff grabs mouse and puts it in its
control frame. This is useful since the user can be sure that when he
needs to type an Ediff command the focus will be in an appropriate Ediff's
frame. However, some users prefer to move the mouse by themselves. The
above variable, if set to maybe, will prevent Ediff from grabbing
the mouse in many situations, usually after commands that may take more
time than usual. In other situation, Ediff will continue grabbing the mouse
and putting it where it believes is appropriate. If the value is
nil, then mouse is entirely user's responsibility.
Try different settings and see which one is for you.