特别是,如果一个窗口包含一个dired缓冲区,并且我想告诉Emacs在哪个其他打开的窗口中应该显示一个新文件.
如果Emacs框架例如像这样拆分:
____________________ | | | | | | | A | B | | | | | | | -------------------- | | | | C | D | | | | --------------------
您可以使用Icicles执行您想要的操作.在Icicle模式下,C-x o(通常是其他窗口)是冰柱 – 其他窗口或框架.前缀arg为其提供了几种替代行为,其中一种(对于Emacs 24及更高版本)将选择将由下一个缓冲器显示操作(例如,C-x C-f,C-x b)使用的窗口.
如果你使用双普通前缀arg:C-u C-u C-x o会发生这种情况.这会调用命令icicle-choose-window-for-buffer-display,你当然也可以绑定到任何其他键.
您可以按名称选择目标窗口(使用完成或循环等).
所有该命令都将变量icicle-next-window-for-display-buffer设置为您选择的窗口. Icicles建议命令display-buffer,switch-to-buffer和switch-to-buffer-other-window,以便下次调用它们时,它们使用的窗口是icicle-next-window-for-display-的值缓冲. (在调用之后,它们会恢复正常行为.)
这也意味着如果您有另一种选择窗口的方法,您更喜欢(例如使用here中提到的其他方法之一循环),那么您可以修改该方法以将icicle-next-window-for-display-buffer设置为选择的窗口,以获得相同的效果(在冰柱模式下). IOW,你选择窗户的方式很重要;只需将变量值设置为它,下一个缓冲区显示操作将使用它.
原文地址:https://www.jb51.cc/windows/365282.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。