【发布时间】:2013-12-29 02:58:59
【问题描述】:
如何将一些缓冲区重定向到特定窗口中的弹出窗口?例如,当您使用 shell 并按下 <TAB> 时,*completions* 缓冲区会(通常)在右侧窗口弹出...但是如何使此缓冲区始终在另一个窗口上弹出?
我更喜欢不涉及安装新库的解决方案(尽管编写我自己的 elisp 函数会很简洁)。
我问这个,因为当我使用emacs时,O喜欢将它分成3个窗口:
左边的窗口是我编码的地方,我们称之为绘图窗口。右上角的窗口,是弹出编译消息的地方,我们称它为信息窗口。右下窗口是我使用shell的地方,我们称之为shell窗口。当我使用 shell 窗口并按 <TAB> 进行补全建议时,*completions* 缓冲区将在我的绘图窗口中弹出,而不是在我的信息窗口中。
直到现在,当我进入我的绘图窗口时,我尝试只按q,但这变得很烦人,因为它不会总是返回到我正在使用的代码,所以我必须 C-right 直到我找到我的代码,或 C-x b(如果我记得我正在编辑的文件的名称)。
【问题讨论】:
-
生成特殊缓冲区(如 Completions)的函数需要修改为使用 display-buffer 或其系列函数。
-
切线,见
winner-mode,我刚刚在这里评论过:stackoverflow.com/a/20809590/324105