如何阻止emacs打开我在此会话中已打开的缓冲区的新窗口?

时间:2012-08-16 11:07:15

标签: emacs elisp

我通常会同时打开两个emacs框架。

当我运行vc-diff时,无论窗口是否显示该缓冲区,都会创建一个新窗口。

是否有一般方法可以防止这种情况发生?

2 个答案:

答案 0 :(得分:0)

pop-up-frames设置为非零值会阻止pop-to-buffer打开新窗口。相反,*vc-diff*缓冲区将成为显示它的帧中的活动窗口。

(setq pop-up-frames t)

更改此变量也会影响使用pop-to-buffer的其他函数。

答案 1 :(得分:0)

我认为您需要通过添加

来自定义display-buffer-base-actiondisplay-buffer--other-frame-action
(custom-set-variables
 '(display-buffer-base-action display-buffer--other-frame-action))

到你的.emacs.el或者

(custom-set-variables
 '(display-buffer-base-action 
   '(display-buffer-reuse-window (reusable-frames . t))))

我建议您阅读上述所有变量(C-h v)和函数(C-h f)的帮助。

祝你好运!