1

我正在努力让Windows 7上的 Emacs 24.3.1anything中的所有内容都可以使用。最终,我想按照这个问题anything-locate的答案中的建议来浏览代码目录和子目录。我曾经做过一次,简单地说,似乎有工作,但我改变了一些东西,无法取回。anything-locate

当我输入M-x anything-locate(或使用helm, M-x helm-locate)时,我会收到pattern:提示,但是当我输入搜索词时,会收到如下错误消息:

Locate
'es' is not recognized as an internal or external command,
operable program or batch file.

定位

假设但不确定这与es.exeEverything 的命令行版本有关。在我的初始化文件中,我有这个:

(add-to-list 'load-path "~/.emacs.d/.emacs.d/elpa/everything")
(setq everything-ffap-integration nil)
(setq everything-cmd "~/.emacs.d/.emacs.d/elpa/everything/es.exe")
(require 'everything)

...我已经编辑everything.el,以便

(defcustom everything-cmd "c:/Programme/Everything/es.exe" "Path to es.exe."

现在的行是:

(defcustom everything-cmd "~/.emacs.d/.emacs.d/elpa/everything/es.exe" "Path to es.exe."

(编辑请注意,尽管上面使用了“~/”约定,但实际上路径完全符合 c:/blah/blah/blah/.emacs.d/)

我希望这可以让 Emacs 找到es.exe. 然而它仍然抛出错误信息。关于如何解决这个问题的任何想法?

4

2 回答 2

1

我知道这很旧,但是当我遇到与 helm 相同的问题时,我发现了这个问题,所以它可能很有用。问题是 emacs 如何指定 PATH 与 windows 如何执行它之间的冲突(类似于 juanleon 的建议)。解决方案是删除所有在 emacs 中修改路径的表单,而只需将 es.exe 添加到 windows 路径。es.exe 是 voidtools 下载页面底部的额外下载,在旧版本下方,我花了一段时间才找到。

于 2017-05-31T17:17:14.910 回答
0

windows shell(不管它是什么)可能不知道如何扩展“~/”(即使emacs确实理解它)。

一个非常快速的测试是将 es.exe 复制到“c:\es.exe”中,然后通过适当更改 Everything-cmd 的配置重复测试;如果它有效,那么只需使用整个路径。

于 2013-09-17T15:06:58.410 回答