1

我的系统上有 3 个版本的 emacs:

  • Emacs 默认包含在 OS X 中,可通过终端访问
  • 最新版本的 Emacs 作为单独的独立应用程序安装,即 OS X 上的 Emacs.app
  • Lisp Box,一个目录中的 emacs 和 lisp 工具包,也通过另一个 Emacs.app 启动

当我编辑.emacs文件时,它只影响我作为独立 emacs 安装的 Emacs.app。我把它放在我的家庭目录中.emacs,它可以工作:

(set-face-attribute 'default nil :height 200)

但是,这不会调整从终端启动的 emacs 或从 Lisp in a Box 启动的 Emacs.app 的字体大小。因为它们都是真正的 emacs,所以它们不是都在查看同一个 .emacs 文件吗?

我看到这个问题表明 Lisp Box 也应该使用这个 .emacs 文件,尽管它是 Lisp Box 的旧版本,所以这可能不再正确。但是我想知道,由于 Lisp Box emacs 会以 lisp 提示符自动打开,是否以某种方式预先构建了特殊规则,从而以根本不查找任何正常.emacs文件为代价赋予它这种行为?我在 Lisp Box 目录中找不到任何.el文件,所以我不确定它是如何接收其配置信息的?它确实在与其 Emacs.app 相同的目录中有两个 .lisp 文件,它们会在 Emacs 启动时自动被读取吗?

4

1 回答 1

3

您可以从命令行告诉 emacs 使用哪个配置文件。因此,您所要做的就是查看调用 emacs 时使用的命令+参数,并相应地更改它们。

例如,在 lispbox.sh 中,emacs 被调用为:

exec ${LISPBOX_HOME}/emacs-23.2/bin/emacs --no-init-file --no-site-file --eval='(progn (load "lispbox") (slime))'

所以没有初始化文件(.emacs)或站点配置文件。一个快速而肮脏的修复方法是编辑该文件(或您用来在 Box 中启动 Lisp 的文件),让 emacs 使用您的配置文件。默认情况下,Lisp in a Box 不会这样做,因为不知道您的设置(emacs 版本,已安装的包,...)是“in a box”的意思。

于 2013-10-16T09:22:46.010 回答