Windows下安装Emacs 29.3及配置Spacemacs

191 阅读2分钟

下载Emacs 29.3

找到官方下载地址:GNU Emacs download - GNU Project。然后选择一个国内的镜像地址emacs-29 (sjtu.edu.cn),然后找到29.3的安装包,下载安装就行。 image.png

使用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,等待安装包,时长比较长。 image.png

报错处理

安装完成后,我自己的机器报了如下错误

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 这个包就是安装不完整的。

image.png

路径在 .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 image.png

然后把对应的125行那个启动入口函数删除就行。重新启动emacs,就没问题了。

注意事项

对于Windows来说, Ctrl + Space这个快捷键可能被windows的输入法切换占用了,要么改输入法切换的快捷键,要么改自己的 set-mark-command 的快捷键。 image.png