1. 安装编译依赖
$ brew install autoconf automake texinfo gnutls pkg-config --debug --verbose
注意,必须安装 pkg-config, 要不是 emacs ./configure 的时候一直说 gnutls 这个包找不到,即使你已经安装了 gnutls
2. 下载 git 源码
$ git clone --depth 1 git://git.savannah.gnu.org/emacs.git
3. 编译 emacs
$ cd ./emacs && ./autogen.sh
$ ./configure && make && make install
4. 安装
$ open -R nextstep/Emacs.app
在文件管理器中拖拽 Emacs.app 到应用程序目录
5. 添加自己的配置文件到 ~/.emacs
编译还是比较顺利的,只是中间 proxychians4 代理的时候没有加 --debug --verbose, 导致我无数次认为 brew 卡死了。
移植 lazycat-emacs 到Mac OS平台比我想象的顺利,只有几个小问题:
- x-send-* 函数在Mac OS上没有, 用 set-frame-paramter 跨平台函数替换
- 不同平台的字体不一样,用system-type判断了操作系统平台搞定
- MacOS 平台Emacs对没有 unset 的 prefix key 检查的更严格
- 键盘映射不一样,用 Karabiner-Elements 搞定
最后发现因为 MacOS 平台运行 dbus.el 相关代码会报错,把我的 minibuffer-tray 和 eaf 都搞挂了,哈哈哈