[英]Emacs init file won't load at start up
我正在尝试在 Windows 7 计算机上运行 Emacs v22.2。 但是, init
文件不会在启动时加载(使用Mx load-file
手动加载它可以正常工作)。
我试过同时使用:
~\.emacs, ~\_emacs
~\.emacs.d.init.el
但问题仍然存在。
Evaluating (insert (getenv "HOME"))
返回预期值。
根据您在 Windows 7 中打开 emacs 的方式,它会在不同的位置查找 .emacs 文件。 如果从 shell(在 cygwin、Msys 等中)调用它,它将在 $HOME (~) 位置中查找,如果您通过单击图标从安装目录运行它,它将在 %APPDATA 中查找此文件% 位置(通常是 C:\\Users\\your user name\\AppData\\Roaming )。 这可以带领你到处追逐快乐。 我发现最好确定要存储文件的位置,并创建指向所有其他可能位置的符号链接(使用 windows mklink 实用程序)。
我遇到了类似的问题(在 Windows 10 上)。 问题是 Emacs 在启动时读取的是~\\.emacs
而不是~\\.emacs.d\\init.el
。 将~\\.emacs
的内容转移到~\\.emacs.d\\init.el
并删除~\\.emacs
解决了这个问题。
我刚刚在 Windows 7 上安装了Emacs的补丁版本,指定了环境变量HOME=c:\\klang
,从 github 中查看了我十年前的配置文件并添加
(and (= emacs-major-version 23)
(defun server-ensure-safe-dir (dir) "Noop" t))
到~/.emacs.d/init.el
并启动并运行。
您缺少的是mule.el
一些组件,只需安装新版本的 emacs 即可修复它。
如果HOME
未在一般环境中设置, (getenv "APPDATA")
可能会接管并且 emacs 将尝试读取该目录下某处的 init 文件。
我刚刚设法解决了同样的问题(lcollado 和 klang 的回答给了我一个关于如何解决它的小提示)。
我在C:\\Users\\Edwin\\.emacs.d\\init.el
设置了一个配置文件,当我试图让 Emacs 加载它时,它没有。 我最初的想法是在C:\\Users\\Edwin\\AppData\\Roaming\\.emacs.d\\init.el
制作一个init.el
文件,它会加载我的原始配置文件。 但是,我想要一个更简单的解决方案。
然后我想起了符号链接的存在。 所以我做了一些关于如何在 Windows 中创建符号链接以及Hard Links和Soft Links之间的区别的搜索。
我的第一次尝试是建立一个指向我的init.el
的软链接。 但是 Emacs 忽略了该链接并在没有init.el
情况下init.el
。
下一个有效的尝试是硬链接。 我做的步骤如下:
使用管理权限打开命令提示符。
一种。 按Windows + R 。
湾输入“cmd.exe”并按Shift + Enter 。
C。 当 Windows 要求提供管理权限时,点击“是”。
转到您的主目录。
一种。 键入cd C:\\Users\\<your name>
。
运行以下命令在C:\\Users\\<your name>\\AppData\\Roaming\\.emacs.d\\init.el
建立硬链接:
:: mklink /h Destination Source :: Destination - Where do you want the hard link to be and what will be it's name? :: Source - What file do you want to link? mklink /h AppData\\Roaming\\.emacs.d\\init.el .emacs.d\\init.el
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.