6

我厌倦了 emacs 用它的输出来破坏我的窗口,而且是不可预测的。我想在 emacs 框架中有几个窗口,并且每个窗口仅用于特定目的。例如,

ECB panels |  Editor 1 | Editor 2 |  Bookmarks+
------------------------------------------------
"Messages" (output buffer)

因此,当我运行时M-x compile,我希望输出始终进入 Messages。同样,当我运行时M-x magit-status,我也想要消息中的结果。单击书签或按C-x r b应该打开文件并将光标定位在编辑器 1 中。

我已经尝试了一些 lisp 片段来“锁定”窗口以防止更改,但是当所有窗口都“锁定”时,emacs 会发疯,因为它找不到一个可用的窗口来放置新的输出。emacs 的这种讨厌的缓冲区交换功能必须要追溯到 80x25 字符终端时代。

我从未见过欧洲央行的窗户被破坏,所以它一定是可行的。

4

2 回答 2

2

您明确要求专用窗口。嗯,Emacs 正好有这个特性:专用窗口C-h r g dedicated windows告诉你几乎所有你需要知道的。

但也请参阅special-display-buffer-namesspecial-display-regexps--- 或者如果你是一个受虐狂,请摆弄display-buffer-alist做同样的事情。

display-buffer-alist原则上,你可以做任何你能想象到的事情,包括将你的内衣打结并点燃。

(我,我刚刚设置special-display-regexps("[ ]?[*][^*]+[*]")。)

于 2013-10-18T22:05:54.180 回答
0

在你打开一个东西之前调用lockon-window 。再次调用以取消指定所有窗口。很容易设置将所有内容发送到窗口:消息;但是,要在不调用 lockon-window 的情况下从 window:Bookmarks+ 向 window:Editor-1 显示缓冲区,我的能力太难了。我希望幻灯片窗口有所帮助。

于 2014-04-13T08:24:07.300 回答