【发布时间】:2012-12-27 07:02:22
【问题描述】:
我想有一个快捷方式来在 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 中的一个非常有用的功能,因此,如果我弄清楚了所有这些,我一定会编辑这篇文章以添加我完成的代码以供任何人使用。
【问题讨论】:
-
我不太确定您要完成什么,为什么不打开缓冲区而不更改它?无论如何,不妨看看emacswiki.org/emacs/MiniMap 的 minimap.el。也许这会做你想做的事?