2012-04-08 2 views
2

Я использовал emacs для программирования erlang. Согласно http://emacswiki.org/emacs/CompileCommand, я сконфигурировал c-c c для перекомпиляции. В рамке emacs открыты 6 окон, верхние 3 - для чтения и записи исходного кода erlang. В приведенных ниже окнах предполагается, что для окна компиляции. Но когда разные окна активны и перекомпилируются, окно compile будет переключаться случайным образом. Как исправить это в одном перкулярном окне?в emacs, как управлять тем, какие окна отображать результат компиляции?

+2

Это почти та же проблема, что и в http://stackoverflow.com/questions/1002091/how-to-force-emacs-not-to-display-buffer-in -a-specific-window –

+1

Я думаю, что это больше обратное этому вопросу - мы не хотим * избегать * конкретного окна; мы хотим избежать * всех * окон, кроме определенного. – phils

ответ

5

Если вы начнете читать на Chеdisplay-bufferRET (или в руководстве по M-:(info "(elisp) Choosing Window")RET), вы найдете кучу способов, которыми вы можете изменить поведение.

Он может получить немного сложно, но что-то подобное может быть все, что вам нужно в функции перекомпилировать:

(let ((display-buffer-overriding-action 
     '(display-buffer-reuse-window))) 
    (compile)) 

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

M-:(info "(elisp) Dedicated Windows")RET

Я использую toggle-window-dedicated Функция от Pin Emacs buffers to windows (for cscope) (см. Также How do I make this Emacs frame keep its buffer and not get resized?)

+0

спасибо. –

Смежные вопросы