您必须创建一个emacs初始化文件。它不会自动生成。
我遇到了类似的问题,但这个答案解决了我的问题。
我的问题是我的 ~/.emacs.el 文件没有加载。这很奇怪,因为这对我来说一直都有效。
这个问题/答案帮助了我,但我必须把我的init文件放在 %USERPROFILE%\AppData\Roaming\.emacs.d\init.el,因为这显然是Windows上的默认行为。
为了解决这个问题,在emacs的*scratch*缓冲区中运行了以下命令。
user-emacs-directory
"~/.emacs.d/"
当我看到user-emacs-directory是~/.emacs.d时,我只是将我的.emacs.el文件移动到%USERPROFILE%\.emacs.d\init.el。但这仍然不起作用。我继续使用expand-file-name,如下所示:
(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"
Windows的工作方式真是让人爱不起来(并不)。所以,我把我的emacs.el文件移动到了%USERPROFILE%\AppData\Roaming\.emacs.d\init.el,这样就可以被读取了。但是,因为我的初始化文件加载了其他(个人的emacs)文件(在~/myenv/emacs/*.el中),所以出现了其他错误。
Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:
嗯...似乎所有我的文件~/myenv/emacs/*.el都需要移动才能使它们工作,但我不想这样做。然后我意识到因为没有设置HOME环境变量,emacs正在执行其默认行为。
解决方案
一旦我将Windows的HOME环境变量设置为%USERPROFILE%,一切就像过去25年那样工作了。 :-)
要设置HOME环境变量,我键入Windows键+"编辑帐户的环境变量"以打开环境变量对话框,并输入HOME=%USERPROFILE%。
现在我的emacs初始化文件.emacs.el又回到了它应该在的地方$HOME/.emacs.el,而不是在%USERPROFILE%\AppData\Roaming\.emacs.d\init.el中
公平地说,如果Windows只有一个地方放置用户安装的软件包文件,那么使HOME=%USERPROFILE\AppData\Roaming可能是可以接受的,但是由于某些应用程序使用%USERPROFILE%,有些使用%USERPROFILE\AppData\Roaming,还有些使用%USERPROFILE\AppData\Local,这使得很难知道在哪里找到您的配置文件。
我更喜欢将所有内容放在我的%USERPROFILE%或$HOME目录中。
另一个类似的问题在这里:
Emacs init.el文件不加载