【发布时间】:2016-03-27 05:25:04
【问题描述】:
当我在 emacs 中编辑一堆文件时,我喜欢使用 emacs --daemon,所以我最终会打开很多框架。问题是当我尝试通过C-x b 切换缓冲区时。我不确定它到底是怎么发生的,但有时下一个缓冲区已经在后台最小化的帧中。在这种情况下,它将我要离开的缓冲区放入该帧中,将缓冲区推到缓冲区列表的底部,然后让我像疯了一样的标签回到它。然后它发生在第二个缓冲区,让我不得不像疯了一样的标签才能回到它。
它将“C-x b [edit] C-x b [edit]”的高效工作循环变成“C-x b [tabtabtabatbatbatbat] [enter] [edit] C-x b [tabtabtabatbatbabatbtba] [sigh] [enter] [edit]” .我能找到的唯一解决方案是 Alt-Tab 直到我找到窃取这些缓冲区的帧,然后关闭它。直到它再次发生并再次发生,我想扼杀一些东西。
我想要的是......当我用“C-x b”切换缓冲区时,我离开的缓冲区永远不会被拖入另一个开放框架,而只是不再可见,停留在缓冲区列表的顶部下一个“C-x b”切换回它。我该怎么做?
【问题讨论】:
-
您不能依赖常规的缓冲区列表,无论是全局的还是局部帧的——它们一直在变化并且通常超出您的控制范围。您应该考虑使用 Alp Aker 的
frame-bufs-- github.com/alpaker/Frame-Bufs -- 将缓冲区本地列表嵌入到帧参数中,以将选择缓冲区与某些帧相关联。要控制在某些帧中显示哪些缓冲区,请查看如何在文件打开之前截取文件并决定哪个帧:stackoverflow.com/questions/18346785/… -
如果您喜欢选项卡的概念,以下链接将
frame-bufs与tabbar的概念结合在一起——具有额外的自定义扭曲以动态添加和删除帧上缓冲区的选定选项卡——本地基础:emacs.stackexchange.com/a/10112/2287,所有这些都可以与上面评论的第二个链接中的概念结合起来(在特定帧中显示缓冲区)。
标签: user-interface emacs