All Ediff commands are displayed in a quick help window, unless you type ? to shrink the window to just one line. You can redisplay the help window by typing ? again. In this section we comment only on the features that cannot be readily deduced from the quick help window. You can always type E in the control window to display this manual.
Many Ediff commands take numeric prefix arguments. For instance, if you
type a number, say 3, and then j (ediff-jump-to-difference
), Ediff
moves to the third difference region. Typing 3 and then a
(ediff-diff-to-diff
) copies the 3d difference region from buffer
A to buffer B. Typing b does copying in the opposite
direction. (In 3-way comparison mode, the commands for copying are
ab, ba, ca, etc.)
Likewise, 4 followed by ra
restores the 4th difference region in buffer A (if it was previously
saved as a result of copying from, say, buffer B to A).
Some commands take negative prefix arguments as well. For instance, typing - and then j will take Ediff to the last difference. Typing -2 then j takes Ediff to to the penultimate difference region, etc.
Without the prefix argument, all commands operate on the current selected difference region. You can select any difference region as the current one using other Ediff commands.
For some commands, the value of the prefix argument is immaterial. However,
if supplied, the prefix argument modifies the command. For instance,
normally the commands ga/gb/gc
(ediff-jump-to-difference-at-point
) causes Ediff to jump to the
difference region that is closest to the point in a specified buffer (the
buffer, A, B, or C, is specified by the last character of the command,
i.e., for gb
, the specified buffer is B).
However, with a prefix argument, Ediff would position all these
buffers around the area indicated by the current point in the specified
buffer: if the point is inside a difference region, then the buffers will
be positioned at this difference region. If the point is not in any
difference region, then it is in an area where all buffers agree with each
other. In this case, all buffers will be positioned so that they would
display this area.
The total number of differences and the current difference number are always displayed in the mode line of the control window.
If, after making changes to buffers A, B, or C, you decide to save them, it
is best to use ediff-save-buffer
, which is bound to wa,
wb, and wc (wa will save buffer A, wb saves buffer
B, etc.).
Typing wd saves the output from the diff
utility to a file, so
you can later refer to it. With prefix argument, this command saves the
plain output from `diff' (see ediff-diff-program
and
ediff-diff-options
). Without the argument, it saves customized
`diff' output (see ediff-custom-diff-program
and
ediff-custom-diff-options
), if it is available.
Instead of saving it, `diff' output can be displayed using the command D. Without the prefix argument, it displays the customized `diff' output of the session. With the prefix argument, it displays the plain `diff' output If either of the `diff' outputs is unavailable (because it wasn't generated or the user killed the respective buffer), then Ediff will try to display the other `diff' output. If none is available, a warning is issued.
The command z suspends the current ediff session. It hides the control buffer and the variants. The easiest way to resume a suspended Ediff session is through the registry of active sessions. See section Registry of Ediff Sessions, for details.
The command q quits the current Ediff session. With a prefix argument, it will ask the user whether to delete the variant buffers.
The command s is used only for merging. It shrinks window C (the merge window) to its minimal size, thereby exposing as much of buffers A and B as possible. This command is intended only for temporary viewing; therefore, Ediff restores window C to its original size whenever it makes any other change in the window configuration. Typing s again also restores the original size of window C. However, recentering and jumping to a difference does not affect window C's size.
With a positive prefix argument, the command s makes the merge window, window C, slightly taller. With - or a negative prefix argument, s makes window C slightly shorter.
Another command used only for merging is +. Its effect is to
combine the current difference regions of buffers A and B and put the
combination into the merge buffer. See section Merging and diff3, specifically,
the variables ediff-combine-diffs
and
ediff-combination-pattern
.
In merge mode, Ediff uses a default variant (one of the two files being merged) when it cannot decide which of the difference regions (that of buffer A or buffer B) should be copied into the merge buffer. You might decide to use the other variant instead. To facilitate this, Ediff has a command, bound to &, which selects another default variant for the current difference and subsequent differences. You can specify as the new default any of `default-A', `default-B', or `combined'. See section Merging and diff3, for details.
Such repeated merging affects only difference regions that have default-A/B status, and only if they were not changed with respect to their originals.
Some commands are not bound to any key:
eregistry
ediff-show-registry
eregistry
is an
alias for ediff-show-registry
.
ediff-toggle-multiframe
ediff-revert-buffers-then-recompute-diffs
ediff-profile
ediff-profile
toggles
profiling of ediff commands.
Go to the first, previous, next, last section, table of contents.