下载Emacs 29.3
找到官方下载地址:GNU Emacs download - GNU Project。然后选择一个国内的镜像地址emacs-29 (sjtu.edu.cn),然后找到29.3的安装包,下载安装就行。
使用spacemacs配置
首先要找到 Home 目录,我自己的Home目录为 C:\Users\10331\AppData\Roaming
。 然后将syl20bnr/spacemacs: A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs and Vim! (github.com) 下载到 Home 目录,将改名为 .emacs.d
,如下:
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
配置自己的spacemacs
将自己的 spacemacs 配置也下载到 Home 目录里:
git clone git@github.com:aborn/.spacemacs.d.git .spacemacs.d
如果没有自己的spacemacs配置,也可以忽略这步。
启动Emacs
接下来启动Emacs,等待安装包,时长比较长。
报错处理
安装完成后,我自己的机器报了如下错误
Error (use-package): ace-pinyin/:catch: Cannot open load file: No such file or directory, pinyinlib
Error (use-package): Cannot load clean-aindent-mode
Error (use-package): Cannot load column-enforce-mode
Error (use-package): evil-anzu/:init: Symbol’s function definition is void: global-anzu-mode
Error (use-package): evil-anzu/:catch: Cannot open load file: No such file or directory, anzu
Error (use-package): evil-collection/:catch: Cannot open load file: No such file or directory, annalist
Error (use-package): Cannot load evil-textobj-line
Error (use-package): Cannot load find-file-in-project
这种一般是因为网络原因,导致包没有安装完整。如下图的 anzu
这个包就是安装不完整的。
路径在 .emacs.d/elpa/29.3/develop/
下。
有两种方法解决:
1、删除 .emacs.d/elpa/29.3/develop/
下对应的有问题包的文件夹
2、在Emacs下重新安装下这个包 M-x package-reinstall anzu
解决这类报错后,再重新启动下Emacs下,但遇到如下问题:
Error (use-package): drag-stuff/:init: Symbol’s function definition is void: drag-stuff-mode
Error (use-package): evil-anzu/:init: Symbol’s function definition is void: global-anzu-mode
Error (use-package): eyebrowse/:init: Symbol’s function definition is void: eyebrowse-mode
重新安装包也没用。而且安装它们的时候会报 Package cl is deprecated
这样的错误信息(原因是Emacs 29后不再支持cl这个包,对于一些很老的包都没有做过相应的修改)。Github上也有人报这个issue,但没人解决过。
Fresh Spacemacs install with Emacs 29.1.1 breaks Emacs · Issue #16122 · syl20bnr/spacemacs (github.com)
如果对你的emacs使用没有影响,只是报错,可以忽略。
我的解决办法是去掉 spacemacs
去掉这几个包的启动。方法如下:
- 先找到对应的包,在Home目录下的
layers\+spacemacs\spacemacs-editing\packages.el
然后把对应的125行那个启动入口函数删除就行。重新启动emacs,就没问题了。
注意事项
对于Windows来说, Ctrl + Space
这个快捷键可能被windows的输入法切换占用了,要么改输入法切换的快捷键,要么改自己的 set-mark-command
的快捷键。 (参考:Windows: Disable Hot Key Ctrl+Space - ascertain - 博客园 (cnblogs.com)
)