3

我想创建一个命令行可执行文件,它将产生一个 emacs 窗口/应用程序。我在网上搜索,发现 Mac 附带的 emacs 在 X11 窗口中不支持,所以我从http://emacsformacosx.com/下载了最新的 emacs并安装在我的 mac 中。
然后我转到 /usr/bin 目录并创建一个符号链接,如下所示:

sudo ln /Applications/Emacs.app/Contents/MacOS/Emacs xemacs

当我通过 ./xemacs 运行这个符号链接时,它说(。表示 /usr/bin):

警告:依赖于架构的数据目录(/Users/david/src/emacs-dev/ftp-versions/emacs-24.2/nextstep/Emacs.app/Contents/MacOS//libexec/emacs/24.2/x86_64-apple-darwin/ ) 不存在。警告:独立于架构的数据目录 (/Users/david/src/emacs-dev/ftp-versions/emacs-24.2/nextstep/Emacs.app/Contents/Resources/share/emacs/24.2/etc/) 不存在。错误:找不到字符集目录:/Users/david/src/emacs-dev/ftp-versions/emacs-24.2/nextstep/Emacs.app/Contents/Resources/share/emacs/24.2/etc/charsets Emacs 将无法正常工作没有字符映射文件。请检查您的安装!

但是,如果我在目录 /Applications/Emacs.app/Contents/MacOS/ 中运行 Emacs 二进制文件,它会启动应用程序而不会出现任何错误。

有谁知道如何解决这个问题?

4

2 回答 2

3

到目前为止,我认为最好的方法是在 /usr/bin 下创建一个可执行脚本,它将执行二进制文件 /Applications/Emacs.app/Contents/MacOS/Emacs。我没有使用“open”命令的原因是我需要使用一些 Emacs 二进制参数。与“open”相比,此方法可以生成多个 emacs 实例。

脚本是:

#! /bin/sh
/Applications/Emacs.app/Contents/MacOS/Emacs "$@"

然后通过执行 chmod +x script.sh 使其可执行

然后制作符号链接

ln -s "/usr/local/bin/script.sh" /usr/local/bin/xemacs

于 2012-12-13T16:32:16.220 回答
2

您可以使用别名:alias emacs="open -a Emacs --args <youroptions>. 该选项--args允许您将选项直接传递给 emacs(例如,-q避免评估 init 脚本)。

于 2012-12-14T06:38:02.123 回答