windows - 告诉 Emacs 在特定窗口中打开新缓冲区

标签 windows emacs buffer

如果一个 Emacs 框架被分割成几个窗口并打开一个新的缓冲区,是否有可能告诉 Emacs 在哪个窗口中打开缓冲区。

特别是,如果一个窗口包含一个 dired 缓冲区,并且我想告诉 Emacs 应该在其他打开的哪个窗口中显示一个新文件。

如果 Emacs 框架是这样分割的:

____________________
|        |         |
|        |         |
|   A    |    B    |
|        |         |
|        |         |
--------------------
|        |         |
|   C    |    D    |
|        |         |
--------------------

其中 A、B、C 和 D 是窗口。如果 A 包含一个 dired 缓冲区,我可以告诉 Emacs 在窗口 D 的新缓冲区中打开一个新文件吗?

最佳答案

这是另一个答案——

您可以使用 Icicles 做您想做的事.在冰柱模式下,C-x o , 通常是 other-window , 是 icicle-other-window-or-frame .前缀 arg 为它提供了几种替代行为,其中之一(对于 Emacs 24 及更高版本)是选择一个将由下一个缓冲区显示操作使用的窗口(例如 C-x C-fC-x b )。

如果您使用双普通前缀 arg,就会发生这种情况:C-u C-u C-x o .调用命令 icicle-choose-window-for-buffer-display ,您当然也可以将其绑定(bind)到任何其他 key 。

您可以按名称选择目标窗口(使用完成或循环等)。

该命令所做的只是设置变量 icicle-next-window-for-display-buffer到您选择的窗口。 Icicles 建议命令 display-buffer , switch-to-buffer , 和 switch-to-buffer-other-window这样下次调用它们时,它们将使用值为 icicle-next-window-for-display-buffer 的窗口. (在那次调用之后,他们恢复到正常行为。)

这也意味着,如果您有另一种选择窗口的方法,您更喜欢(例如,使用提到的其他方法之一循环 here ),那么您可以修改该方法以设置 icicle-next-window-for-display-buffer到选定的窗口,以获得相同的效果(在 Icicle 模式下)。 IOW,选择窗口的方式很重要;只需为其设置变量值,下一个缓冲区显示操作将使用它。

关于windows - 告诉 Emacs 在特定窗口中打开新缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24079559/

相关文章:

windows - 如何在 Emacs 中使用 SVN(psvn 无法创建隧道)

c - 如何在缓冲区 c 内分割 token ?

linux - Windows 链接到带有 x 转发的 linux 可执行文件

windows - 为什么 "%~fI"参数扩展能够 "access"不是现有的驱动器?

linux - Windows 应用程序使用 SharpSVN - 需要将服务器迁移到 linux SVN 服务器 - 它仍然有效吗?

emacs - 在不更改字符的情况下突出显示emacs中的尾随空白

python - 简单的 GUI Windows 拖放

emacs - 如何让 Emacs 在保存文件之前查询用户(如果用户回答“否”则中止)?

c++ - 如何从RAM中读取?

c - 缓冲区未正确读取字符串