Ediff-split-window-function horizontal == vertical?
Emacs 23.1.1 Ediff 2.81.2 на CentOs 6
До любой настройки Ediff по умолчанию разбивал окна по горизонтали (один поверх другого).
Я хотел их бок о бок, поэтому я попытался добавить следующие строки в мой .emacs
(setq ediff-split-window-function 'split-window-vertically)
(setq ediff-merge-split-window-function 'split-window-vertically)
Это не повлияло - окна все еще были разделены горизонтально. Я также попытался использовать интерфейс Emacs Customization для Ediff, чтобы по умолчанию получить вертикальный раскол - та же история.
Обратите внимание, что я попробовал это в сравнении с двумя буферами, которые были разделены по вертикали. Я также попробовал его, не открывая файлы в буферах, и попросил Ediff сравнить два файла - тот же результат.
Затем я попробовал указать split-window-horizontally как функцию разделения окна для ediff-split и ediff-merge.
(setq ediff-split-window-function 'split-window-horizontally)
(setq ediff-merge-split-window-function 'split-window-horizontally)
Это привело к тому, что окна разбивались по вертикали (рядом друг с другом). Это также верно, когда я прокомментировал эти строки и использовал интерфейс настройки Emacs для настройки этих параметров.
И да, я видел этот вопрос, но я не хочу устранять горизонтальное разделение на глобальной основе - я просто хочу, чтобы Ediff делал это по умолчанию.
Я теряю рассудок или кто-то переключил значение "горизонтальный" и "вертикальный" (и, кстати, я беру определение "вертикального" и "горизонтального" разделения из моей копии O ' Книга Рейли "Изучение Гну Emacs" )?
Ответы
Ответ 1
Я использовал настройку переменной emacs, вызванную с помощью C-h v ediff-split-window-function
, чтобы изменить значение. После нажатия Save for future sessions
в .emacs
:
было записано следующее:
(custom-set-variables
...
'(ediff-split-window-function (quote split-window-horizontally))
...)
И он делает именно то, что я хочу: размещение двух буферов бок о бок. И да, emacs использует горизонтальную/вертикальную противоположность тому, что вы имели в виду.
Если вы снова прочитаете этот вопрос, вы увидите объяснение, другие тоже были смущены.
Ответ 2
Нажмите "|" когда вы находитесь в режиме ediff с двумя загруженными файлами переключателями от горизонтального до вертикального.
"?" дает небольшое меню помощи.
(Я на Debian Wheezy с emacs 23.4 + 1-4)
Ответ 3
Пока он не совсем отвечает на вашу проблему, вы также можете использовать функцию, чтобы указать, следует ли разделять вертикально или горизонтально в зависимости от размеров окна:
(setq ediff-split-window-function 'split-window-sensibly)
split-window-sensible встроенный.