https://www.zilongshanren.com/post/setup-macbook-pro-m1/
记录了自己折腾M1的过程,中间踩了一些坑,通过本论坛和google都找到了解决方案,希望对想换M1的同学有一些帮助。
我的配置文件:GitHub - zilongshanren/emacs.d: 目前主要使用的Emacs配置
目前一共是138个packages。
这个配置基本包含了我之前使用 spacemacs 和 doom-emacs 时的90%的功能,剩下10%的功能平时主要可能是不经常使用,以后可能还会添加。
还是从头折腾配置舒服,代码少,启动贼快。
10 个赞
emacs-rime 找不到头文件的 bug 已经修复了,现在在 macOS 上怎么安装 Emacs 应该不影响了。
我是自己编译的 Emacs 29,头文件集成到了/Applications/Emacs.app/Contents/Resources/src
下面
emacs-rime 是靠下面这个函数去探测头文件位置:
(defun rime--guess-emacs-module-header-root ()
"Guess `emacs-module-module-header-root' from some known places."
(or
(let ((module-header (expand-file-name "emacs-module.h" (concat source-directory "/src/"))))
(when (file-exists-p module-header)
(file-name-directory module-header)))
(let* ((emacs-dir (getenv "emacs_dir")) ;; https://www.gnu.org/software/emacs/manual/html_node/emacs/Misc-Variables.html
(header-file (expand-file-name "emacs-module.h" (concat emacs-dir "/include/"))))
(when (and emacs-dir (file-exists-p header-file))
(file-name-directory header-file)))))
你看下你 Emacs 中的 source-directory
变量是指定到哪个文件夹,下面的 src 目录是否有动态模块的头文件。如果没有的话,只能在配置中直接设置 rime-emacs-module-header-root
变量,指定头文件的位置了。
自己编译emacs啊。在macOS上,一直都是编译最新的版本。
source-directory是 /private/tmp/emacs-mac-20220608-17039-1650fmm/mituharu-emacs-mac-3ff676c2f98c/
这个是个临时的目录,貌似不行。
macbook air m2 要出来了……跑题一下
看来 emac-mac 没有将头文件链接到标准的目录。
不过 M1 上编译 Emacs 很快,听说最快的 5 分钟就编译完成 native-comp (开启NATIVE_FULL_AOT=1
的情况下)
在m1上,感觉无论native开不开,运行速度上都没啥区别,不管是eglot补全或者其他地方的响应都感知不明显。我用的emacs-plus29,也试过自己编译的版本,用起来没啥区别,后来就关了native
我现在编译不开native comp选项,速度没什么区别。
有图有真相,M1上确实快。用的gccemacs 28.1,用了tree-sitter,company+ lsp-mode补全都很快。
哇,你这个真的很快,我试过开了native,启动时间相比正常会慢不少。可你这也太快了哈哈哈
启用native-comp启动会稍慢,优化后差别不大。日常使用来看,平均就是1s左右(0.8-1.2s浮动),冷启动稍慢。
native-comp 并不会加快启动时间,主要是影响 lsp。
如果机器性能较好,而且项目本身也不大的话,在 Emacs 28.1 以上,开不开 native-comp,都感觉不出来的。
146个包,启动0.6左右。M1 体验最好的是续行太好了。
可以试试用idle-timer加载color-theme. 另外关闭menu bar也可用同样的timer.
(defun my-mini-ui ()
"Minimum ui."
;; NO tool bar, scroll-bar
(when window-system
(scroll-bar-mode -1)
(tool-bar-mode -1)
(horizontal-scroll-bar-mode -1)))
(run-with-idle-timer 2 nil #'my-mini-ui)
配置优化后,这两个就占了启动时间大头了。
我10年的老电脑Linux启动0.57秒,最新的m1启动0.54秒,都是emacs28开了native compilation,接近300个包。
5 个赞