改变Emacs迷你缓冲区的字体大小与默认emacs分开?

时间:2011-10-23 21:41:56

标签: emacs font-size emacs23 minibuffer

我一直试图将emacs迷你缓冲区的字体/面部分别与emacs默认字体分开,但没有太多运气。

具体来说,我有兴趣将迷你缓冲区的字体大小设置为与emacs MULE一起使用,因为我使用当前的字体设置,或者如果我在“上网本”屏幕上使用emacs,有时会出现字符选择选项。 MULE有点小。

在emacs中轻松访问的选项是迷你缓冲提示& minibuffer-prompt-properties,但这些仅用于命令提示,而不是常规的迷你缓冲文本。

似乎在emacs中列出了一些用于创建迷你缓冲帧或从迷你缓冲窗口获取内容等的迷你缓冲变量。但这些变量与改变迷你缓冲区面无关。是否甚至可以将迷你缓冲区面与默认的emacs分开更改?

一个有趣的选择是oneonone emacs http://www.emacswiki.org/emacs/OneOnOneEmacs项目。但是可以改变专用的迷你缓冲框架吗?在我彻底更改当前的emacs设置之前,我希望能够先改变字体或创建我自己的可变迷你缓冲帧等等......

非常感谢任何帮助和/或创意。

2 个答案:

答案 0 :(得分:8)

您可以通过minibuffer-setup-hook向迷你缓冲区添加自定义。在那里,你可以这样做face remapping

(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup)
(defun my-minibuffer-setup ()
       (set (make-local-variable 'face-remapping-alist)
          '((default :height 2.0))))

根据需要更改my-minibuffer-setup的正文。以上是默认面部高度的两倍。

答案 1 :(得分:1)

是的,您可以轻松自定义独立迷你缓冲框架的属性,包括其默认面部和字体。

您可以自定义OneOnOneEmacs用户选项1on1-minibuffer-frame-alist。 (或者您可以自定义标准选项minibuffer-frame-alist - 其框架参数值将被1on1-minibuffer-frame-alist用作默认值。)

font帧参数是控制字体(duh)的参数。因此,您可以自定义选项1on1-minibuffer-frame-alist,更改其字体设置。

或者,您可以将1on1-minibuffer-frame-font设置为您想要的字体 - 只要没有明确的1on1-minibuffer-frame-alist设置,它就会被font用作字体设置的默认值。 minibuffer-frame-alist。例如:

    (setq 1on1-minibuffer-frame-font
          "-*-Lucida Console-normal-r-*-*-14-112-96-96-c-*-iso8859-1")

如果您不想使用独立的迷你缓冲框架,请参阅Trey的答案。