Windows Emacs初始化文件赢得';启动时不加载

Windows Emacs初始化文件赢得';启动时不加载,windows,emacs,init,Windows,Emacs,Init,我正在尝试在Windows 7计算机上运行Emacs v22.2。但是,启动时不会加载init文件(使用M-x load file手动加载即可) 我已尝试使用这两种方法: ~\.emacs, ~\_emacs ~\.emacs.d.init.el 但问题依然存在 计算(insert(getenv“HOME”))返回预期值。我刚刚在Windows 7上安装了修补版本,指定了环境变量HOME=c:\klang,从github签出了我十年前的配置文件并添加了 (and (= emacs-majo

我正在尝试在Windows 7计算机上运行Emacs v22.2。但是,启动时不会加载
init
文件(使用
M-x load file
手动加载即可)

我已尝试使用这两种方法:

~\.emacs, ~\_emacs 
~\.emacs.d.init.el 
但问题依然存在


计算
(insert(getenv“HOME”))
返回预期值。

我刚刚在Windows 7上安装了修补版本,指定了环境变量
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文件。

根据您在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
解决了这个问题。

我刚刚设法解决了同样的问题(lcollado和klang的回答给了我一个关于如何解决这个问题的小提示)

我在
C:\Users\Edwin\.emacs.d\init.el设置了一个配置文件,当我试图让emacs加载它时,它没有。我最初的想法是在
C:\Users\Edwin\AppData\Roaming\.emacs.d\init.el
上创建一个
init.el
文件,它将加载我的原始配置文件。然而,我想要一个更简单的解决方案

然后我想起了符号链接的存在。因此,我做了一些搜索,了解如何在Windows中创建符号链接,以及硬链接和软链接之间的区别

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

下一次成功的尝试是硬链接。我所做的步骤如下:

  • 以管理权限打开命令提示符。
    A.按Windows+R.
    B键入“cmd.exe”,然后按Shift+Enter。
    C当Windows要求管理权限时,点击“是”

  • 转到您的主目录。
    A.键入cd C:\Users\
  • 运行以下命令在
    C:\Users\\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
    

  • 你的信息缓冲区里有什么东西吗?C-x b切换到该缓冲区。您尝试过~/.emacs.d/init.el吗?这是启动后我的消息缓冲区:
    (“C:\\home\\bin\\emacs\\bin\\emacs.exe”)
    加载编码kb…完成
    加载代码转换:符号作为变量的值无效:setenv
    ~/.emacs.d/init.el也不起作用。22.2非常旧。您可能希望升级到23.3或24()的最新预测试版本