2012-05-22 194 views
4

我目前正在使用emacs进行编程。我在我的.emacs中定义了一个函数,它保存了我所有的工作,并执行解释器在当前打开的shell缓冲区中运行我的工作。通常我会编辑一个或多个框架,并在不同的框架中打开shell。我遇到的问题是当我运行我的保存和执行功能时,一切都保存了,但shell缓冲区显示在我正在编辑的帧中。所以我有两个框架显示shell缓冲区,我看不到我刚刚编辑的源代码。通常当我编程时,我会立刻想将代码的输出与我刚刚编写的代码进行比较。这有点烦人,必须切换回我的代码缓冲区,然后到另一个shell缓冲区的末尾查看输出,同时引用刚写入的代码。你可以看到我的函数现在是相当原始的,只需重新执行shell中最近使用的命令即可。Emacs在不同的框架中切换到缓冲区

我知道Emacs具有切换到不同帧的缓冲区的功能,因为ido缓冲切换器代码可以实现这一点。有人有什么指示我需要取代我的呼叫切换到缓冲区以获得所需的效果?

关心Giles。

回答

3

交易所

(switch-to-buffer "*shell*") 

(switch-to-buffer-other-window "*shell*") 

这将强制两个窗口布局与之前的左侧缓冲区,并在右侧壳缓冲。
编辑:如果您使用的是多框架布局,而不是一个多窗口布局,可以使用

(switch-to-buffer-other-frame "*shell*") 
+0

谢谢。切换到缓冲区其他帧的作品。 –

1

您还可以使用​​稍后将让你自定义究竟如何,其行为,例如通过display-buffer-reuse-framedisplay-buffer-alistspecial-display-regexp

相关问题