【问题标题】:Installing emacs plugins on windows在 windows 上安装 emacs 插件
【发布时间】:2013-05-30 06:54:20
【问题描述】:

我已经浏览了其他主题,但仍然找不到解决方案。我正在尝试在 Windows 7 中为 Emacs 安装“nxhtml”插件。我已经将“HOME”环境变量设置为“C:\”。所以,我的 .emacs.d 文件夹就在那里,我把 nxhtml 放在那里,并在我的“_emacs.d”文件中添加了以下行,正如自述文件所说:

(加载 "C:\.emacs.d\nxhtml\autostart.el")

但它没有加载。

我也试过把: (add-to-list 'load-path "C:\.emacs.d\nxhtml")

(加载“autostart.el”)

但无济于事...有人可以在这里阐明一下吗? tnx。

【问题讨论】:

  • 您到底为什么要将HOME 设置为C:\ ? (Windows 7 没有 C:\Users\(username) 吗?)如果你的意思是你为 Windows 自己的环境(而不是 Cygwin 或类似环境)配置了它,那么我认为你是在问问题。
  • ...除非 Windows 默认没有 HOME 环境变量? (但即使是这样,这似乎也不是一个好主意。)

标签: windows emacs nxhtml


【解决方案1】:

\ 在字符串的(双引号)读取语法中是特殊的,因为某些字符在以反斜杠为前缀时具有新的含义(例如,\n 是换行符,\t 是制表符,并且\" 是双引号字符)。当后面的字符与反斜杠没有任何特殊含义时,将逐字使用该字符,并忽略反斜杠。

"C:\.emacs.d\nxhtml\autostart.el"其实是字符串:

C:.emacs.d
xhtml^Gutostart.el

要在字符串中包含\,您需要编写\\

然而,尽管它会理解反斜杠,但 Emacs 现在在所有平台上都是一致的,允许 / 作为目录分隔符1;所以就这样做吧。

1 和过时的 directory-sep-char 变量已被完全删除。

【讨论】:

  • 嗨 phils,是的,我知道双反斜杠,我已经尝试过了,但无济于事。还尝试使用正斜杠,但没有奏效。在我的 emacs 文件中,我只使用正常的反斜杠更改了我的默认目录,它可以正常工作。
【解决方案2】:

这里有几点:

首先,_emacs.d 不是您的 init 文件的默认文件名,即 emacs 不会自动加载它。试试 ~/.emacs.d/init.el,或者改用 ~/.emacs。

其次,Windows 7 有一个功能,它可以防止程序写入某些系统目录,但是为了向后兼容许多执行此操作的旧程序,而不是导致它们失败,它会默默地将写入重定向到其他地方,在应用程序特定目录。 C:\ 是这些目录之一,因此将您的 HOME 指向那里是自找麻烦。

第三,查看其他关于反斜杠作为 Lisp 字符串中的转义字符的响应。

【讨论】:

  • XVirtusX:你应该查看C-h i g(emacs) Windows HOMERET
  • 嗨菲尔斯...是的 _emacs.d 是 Windows 上可接受的 emacs 初始化文件,因为您无法在资源管理器上创建以点开头的文件。如果您想更改默认目录(我的情况),我还在某处阅读了设置 HOME 环境变量的建议(不,Windows 上没有默认变量)。无论如何,问题是,我已经对 emacs 进行了一些更改,并且运行良好。所以我想这不是引用文件或环境变量的问题......我还应该尝试什么?!
  • 使用*scratch* 缓冲区检查代码的结果。评估 (file-exists-p "C:/.emacs.d/nxhtml/autostart.el") 以确保它返回 t,然后评估 (load "C:/.emacs.d/nxhtml/autostart.el") 以检查它是否会加载。 C-j 在结束括号后将在 *scratch* 中进行评估和打印。
  • XVirtusX,是我,而不是 phils 指出 _emacs.d 未被识别为 init 文件的名称。作为 Windows 上的一个特例,对于坚持使用 Explorer 创建空文件,而不是仅仅在 Emacs 中编辑文件的人来说,除了 .emacs 之外,还可以识别 _emacs,但这不适用于 .emacs.d 目录,也不是该名称的任何文件。我建议您按照 phils 的建议阅读有关在 Windows 上处理 HOME 的手册部分以更好地理解。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多