Подтвердить что ты не робот

При использовании двух фреймов в emacs, как я могу предотвратить появление буфера компиляции в обоих?

Я работаю с двумя мониторами и часто использую emacs с открытыми двумя кадрами; по одному для каждого монитора. каждый кадр разбит на два бок о боковых окна, например:

 a | b   <-- frame 1 in monitor 1
-------
 c | d   <-- frame 2 in monitor 2

Когда я нажимаю кнопку "скомпилировать", находясь в окне a, буфер буферизации открывается в соседнем буфере. Пока все хорошо:

 a | compilation
-----------------
 c |     d

Однако, если я затем перейду в окно c, чтобы отредактировать некоторые вещи, а затем снова удалите компиляцию, окно d также посещает буфер компиляции:

 a | compilation
------------------
 c | compilation

Итак, теперь у меня есть половина моей экранной недвижимости, занятой двумя копиями одного и того же буфера компиляции, задаваясь вопросом, почему у меня два монитора:)

Я могу предотвратить это, добросовестно ударяя только ключ компиляции, когда мой курсор находится в буфере рядом с открытым в настоящий момент буфером компиляции, но я ударил "скомпилировать" так рано и часто, что у меня обычно нет присутствия ума для этого. Я чувствую, что должно быть что-то, что я могу настроить в .emacs, поэтому мне не нужно.

Любые предложения? В идеале, когда я нажимаю "компилировать", текущий открытый буфер компиляции должен перемещаться из предыдущего окна в окно, которое находится рядом с текущим окном. Если это слишком сложно, я бы легко согласился с тем, что emacs не посещают буфер компиляции в соседнем окне, если он уже открыт в другом окне.

4b9b3361

Ответ 1

(setq-default display-buffer-reuse-frames t)

Из документации:

Non-nil означает, что `display-buffer 'должен повторно использовать фреймы. Если этот буфер уже отображается в кадре, поднимите этот кадр.