Краткое исправление: попробуйте сделать это
(setq split-height-threshold nil
split-width-threshold nil)
Это предотвратит автоматическое разбиение Emacs окон (по горизонтали или вертикали).Это может быть нежелательно в других ситуациях, но это должно сработать.Попробуйте в течение недели или около того, и посмотрите, не нарушает ли это ваш поток.
Кроме того, я обнаружил, что если точка была в одном из окон, и я нажал на ссылку, файл открылся в следующемокно (если есть).
Итак, если вы хотите, чтобы файл был открыт в правом окне (если у вас более одного окна), вы можете убедиться, что точка находится в окне перед окном, которое вы открываете.хочу.
Более длинный ответ:
ОК.Я был в состоянии воспроизвести проблему.Дело в том, что окно, показывающее, что файлы довольно большие (широкие или высокие), потому что вы изменили его размер, и Emacs видит, что ширина или высота больше соответствующего порога, и разделяет его аналогичным образом.Итак, мы должны либо повысить порог, либо полностью запретить поведение.
И просто ответить на несколько последних вопросов:
- Чтобы получить текущее окно -
(selected-window)
- Чтобы получить следующее окно -
(next-window)
- Чтобы выбрать окно -
(select-window foo-window)
- Чтобы получить буфер текущего окна -
(current-buffer)
- Чтобы получить буфер какого-либо окна -
(window-buffer foo-window)
- Чтобы установить буфер для окна -
(set-window-buffer foo-window bar-buffer)
Я уверен, что вы можете взломать приличное окно / буферФункции управления с использованием этих функций.
Вы можете использовать C-h f
, чтобы получить более подробную информацию о каждой из этих функций.Также ознакомьтесь с руководством по Elisp - http://www.chemie.fu -berlin.de / chemnet / use / info / elisp / elisp_26.html