emacs - 与 Emacs Ediff : How can I take the changes of both versions 的冲突解决

标签 emacs emacs-ediff

(问题改编自 How do I combine the two variants of a conflict in emacs' emerge?)

我有一个带有合并冲突标记的文件。它看起来类似于:

<<<<<<< HEAD
            522ADC9C14B2FD9D00F56BAD /* close_test_button.png in Resources */,
            522ADC9D14B2FD9D00F56BAD /* close_test_button@2x.png in Resources */,
            522ADCA014B2FDB100F56BAD /* test_failed.png in Resources */,
            522ADCA114B2FDB100F56BAD /* test_failed@2x.png in Resources */,
=======
            EC1633C014B2F3E3004B52E7 /* arrow.png in Resources */,
            EC1633C114B2F3E3004B52E7 /* arrow@2x.png in Resources */,
            EC1633C214B2F3E3004B52E7 /* groups.png in Resources */,
            EC1633C314B2F3E3004B52E7 /* groups@2x.png in Resources */,
>>>>>>> beta_2.8

我使用 M-x vc-resolve-conflicts 启动 Ediff .我可以通过敲击键盘上的 a 或 b 来选择变体 A 或 B,但是如何将两个变体一个接一个地组合起来?

最佳答案

这与 Trey Jackson 的有用答案的作用相同,而且要简单得多。按 d 会将 A 和 B 都复制到缓冲区 C。

(defun ediff-copy-both-to-C ()
  (interactive)
  (ediff-copy-diff ediff-current-difference nil 'C nil
                   (concat
                    (ediff-get-region-contents ediff-current-difference 'A ediff-control-buffer)
                    (ediff-get-region-contents ediff-current-difference 'B ediff-control-buffer))))
(defun add-d-to-ediff-mode-map () (define-key ediff-mode-map "d" 'ediff-copy-both-to-C))
(add-hook 'ediff-keymap-setup-hook 'add-d-to-ediff-mode-map)

关于emacs - 与 Emacs Ediff : How can I take the changes of both versions 的冲突解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9656311/

相关文章:

emacs - 如何在Dired模式下隐藏一个点(当前目录)

emacs - 所有模式下的蝰蛇模式

Emacs ediff 标记了不同目录缓冲区中的文件

Hg 的 emacs ediff-revision 提示参数数量错误

window - ediff-split-window-function 水平==垂直?

php - 如何使用 nxhtml 配置 Emacs (v 23) 以遵循 Kohana 编码标准?

emacs - MELPA 中列出了软件包,但在软件包安装中未找到

email - 使用 Gmail 设置 Emacs Rmail