我想有一个快捷方式在 emacs 中创建一个新框架,它将始终显示创建它的框架的活动缓冲区。这样可以将框架移动到另一个工作区,以保留另一个 emacs 框架的小预览。
以下是我对一个函数的尝试,该函数将使新帧始终显示父帧的缓冲区。get-active-buffer 是伪代码,但除此之外,其余的都可以解决问题。
(defun display-active-buffer (parent-frame)
(while t
(let ((active-buffer (get-current-buffer parent-frame)))
(cond (/= active-buffer (current-buffer))
(switch-to-buffer-other-frame active-buffer)))))
实际上,我主要只是想知道 get-current-buffer 之类的函数,它的作用类似于 current-buffer,除了它将帧作为参数,而不仅仅是使用当前帧。我还需要想办法将父框架的名称传递给这个函数。我也不确定为此使用无限while循环有多聪明。如果有人知道更好的方法,请告诉。
我觉得这可能是添加到 emacs 中的一个非常有用的功能,所以如果我把所有这些都弄清楚了,我一定会编辑这篇文章以添加我完成的代码供任何人使用。