Я - жесткий пользователь emacs, но до сих пор всегда использовал kdiff3 для трехсторонних слияний с предком, например при выполнении git merge или rebase. Мне очень нравится, что kdiff3 может не только одновременно отображать все четыре версии слияния текста:
- общий предок (буфер A в
kdiff3) - "ours" a.k.a. "local" (буфер B в
kdiff3) - "theirs" a.k.a. "remote" (буфер C в
kdiff3) - результат или цель слияния
но также делает различия между A, B и C прозрачными с помощью подсветки цветом. Тем не менее, kdiff3 неудивительно отстой в сравнении с emacs, когда дело доходит до текстового редактирования буфера слияния, поскольку kdiff3 не является полномасштабным текстовым редактором. Он также не интегрируется из коробки с отличным пакетом magit. Поэтому я пытаюсь переключиться на ediff при разрешении конфликтов в этом конкретном сценарии (я успешно использовал ediff для другого использования случаев в течение многих лет).
Однако, несмотря на чтение ediff manual и Страница EmacsWiki и спрашивая в #emacs IRC, я не могу найти способ одновременного отображения всех 4 буферов. По умолчанию он показывает:
- "ours" a.k.a. "local" (помеченный буфер A)
- "их" a.k.a. "remote" (помеченный буфер B)
- результат или цель слияния (помеченный буфер C)
Нажатие / переключает окно, отображающее буфер результатов слияния (C), так что он отображает буфер предка, но вы не можете одновременно видеть результат предка и результат слияния. (Кроме того, diff в буфере предков подсвечивается одним цветом, который явно не показывает, какие биты отличаются от двух других видимых буферов (A и B), хотя согласно этот поток, кажется, что, к сожалению, предварительная интерпретация различий еще не реализована.)
Есть ли простой способ настроить ediff одновременное отображение всех 4 буферов?