是否可以将emacs微型缓冲区移到屏幕顶部?
我已经开始在一个30英寸的显示器上编码了,我想知道是否有可能在emacs中将微型缓冲区移到屏幕顶部?谷歌搜索没有显示任何内容 干杯是否可以将emacs微型缓冲区移到屏幕顶部?,emacs,Emacs,我已经开始在一个30英寸的显示器上编码了,我想知道是否有可能在emacs中将微型缓冲区移到屏幕顶部?谷歌搜索没有显示任何内容 干杯 Nimai Etheridge我很确定您不能移动微型缓冲区本身,但您可以将模式行置于顶部: (setq-default header-line-format mode-line-format) ; Copy mode-line (setq-default mode-line-format nil) ; Remove mode-line 这将覆盖诸如使用标题行的信息
Nimai Etheridge我很确定您不能移动微型缓冲区本身,但您可以将模式行置于顶部:
(setq-default header-line-format mode-line-format) ; Copy mode-line
(setq-default mode-line-format nil) ; Remove mode-line
这将覆盖诸如使用标题行的信息之类的内容,但它可能是在不攻击C源代码的情况下所能获得的最接近的内容。请查看
默认小缓冲区帧和初始帧列表
变量的文档。听起来你可能可以为你的迷你缓冲区设置一个单独的框架(你可以将其放在屏幕的顶部),然后生成利用它的迷你无缓冲区框架
请注意,在initial frame alist
中,它指出“如果该值调用的帧没有minibuffer,并且您没有自己创建minibuffer帧,那么将根据minibuffer frame alist
创建minibuffer帧”,这听起来正是需要的
有几种方法可以保存和恢复帧配置,因此如果这样做有效,您可能可以在emacs启动时自动重新创建布局
编辑:
下面是使用此框架布置的基本示例/概念证明。在使用minibuffer帧的帧被删除之前,不能删除minibuffer帧。当然,当您执行诸如最大化编辑器框架之类的操作时,您会遇到麻烦,因此,为了使此系统以更无缝的方式工作,当然还有一些工作要做
(setq default-minibuffer-frame
(make-frame
'((name . "minibuffer")
(width . 80)
(height . 1)
(minibuffer . only)
(top . 0)
(left . 0)
)))
(setq new-frame
(make-frame
'((name . "editor")
(width . 80)
(height . 30)
(minibuffer . nil)
(top . 50)
(left . 0)
)))
当然,您也可以将其与scottfrazer将模型线移动到顶部的方法相结合
这可能在窗口设置挂钩中处理
您还应该查看内置的frame.el和dframe.el库。类似于dframe resposition frame
的功能可以提供一种方便的方法,将小缓冲区帧“连接”到活动编辑帧的顶部
变量minibuffer auto raise
也可以配置为在激活minibuffer时提升minibuffer帧,这可以减少在剩余时间内使其可见的需要。使用独立的minibuffer帧。这说明:
要么通过查看代码获得想法,要么直接使用它。您只需自定义小缓冲区帧位置设置:
1on1小缓冲帧左
——小缓冲帧左边缘的位置,以像素为单位
1on1小缓冲帧顶部/底部
——小缓冲帧顶部(或底部)的位置,以像素为单位
很有趣。我不确定我是否会使用它(minibuffer在windows底部已经存在了20多年了…),但这是一个非常有趣的想法。干杯,伙计,我今晚会查看它,如果我发现任何有用的东西,我会告诉你