Я - жесткий пользователь 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 буферов?