繁体   English   中英

Emacs init 文件不会在启动时加载

[英]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 LinksSoft Links之间的区别的搜索。

我的第一次尝试是建立一个指向我的init.el的软链接。 但是 Emacs 忽略了该链接并在没有init.el情况下init.el

下一个有效的尝试是硬链接。 我做的步骤如下:

  1. 使用管理权限打开命令提示符。
    一种。 Windows + R
    输入“cmd.exe”并按Shift + Enter
    C。 当 Windows 要求提供管理权限时,点击“是”。

  2. 转到您的主目录。
    一种。 键入cd C:\\Users\\<your name>

  3. 运行以下命令在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM