我想让 emacs 迷你缓冲区(我们在其中键入 emacs 命令)垂直。就像我们使用打开窗口的方式
C-x 3
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
通常,每个帧的底部都有自己的迷你缓冲区窗口,每当选择该帧时都会使用该窗口。如果帧有迷你缓冲区,则可以使用 minibuffer-window 获取它。
嗯,显然有办法。使用 oneonone创建专用的迷你缓冲区帧。这个方法在我尝试作为1on1-emacs
. 需要hexrgb.el
先加载,否则无法运行。显示方式如下:
可以看出,它为完成和迷你缓冲区打开了一个新框架。我还没有弄清楚为什么当我切换到迷你缓冲区时,它不会更改迷你缓冲区框架的范围,而是尝试重用下面的框架。也许我没有使用正确的库,但至少是一个开始。
然后我使用了一个新的迷你缓冲区窗口。新的迷你缓冲区窗口的可用性相当为零,因为我有两个迷你缓冲区(并且还没有找到删除原始缓冲区的方法),并且自动完成是在主框架而不是迷你缓冲区框架中完成的。
这是我走过的最远距离:
(setq default-minibuffer-frame
(make-frame
'((name . "minibuffer")
(width . 20)
(height . 80)
(minibuffer . only)
(top . 0)
(right . 0)
)))
(setq-default mode-line-format nil)
Run Code Online (Sandbox Code Playgroud)
正如文件中的评论oneonone.el
所说,只需将其放入您的~/.emacs
:
(require 'oneonone)
(1on1-emacs)
Run Code Online (Sandbox Code Playgroud)
您还可以1on1-emacs
从命令行调用:
runemacs -l "oneonone.el" -f "1on1-emacs"
Run Code Online (Sandbox Code Playgroud)
(您可能需要提供runemacs
或 的绝对文件名oneonone.el
,具体取决于您的目录等。)
如果您1on1-emacs
在启动期间以外的任何其他方式调用,那就太晚了,因为 Emacs 已经在其初始框架中创建了另一个迷你缓冲区。这就是您上面描述的行为。
提示:如果您使用第 3 方库,则在源代码注释中查找安装/启动说明绝对没有坏处。;-)
回答最初的问题:如果您想要一个位于其他缓冲区旁边的迷你缓冲区,那么不,在同一帧中这是不可能的,据我所知。但是,是的,您可以为此使用独立的迷你缓冲区,即单独的迷你缓冲区帧。是的,oneonone.el
您可以这样做——只需使用库中的选项自定义迷你缓冲区帧的位置和大小即可。
也就是说,我不明白为什么有人会想要一个迷你缓冲区。请记住,文本是水平书写的。因此,用于键入输入和显示输出消息(回显区域)的窗口/框架通常比高度更宽,而不是又高又窄。
归档时间: |
|
查看次数: |
1033 次 |
最近记录: |