使用Emacs(windows)和GnuWin32 Grep时,Grep失败

使用Emacs(windows)和GnuWin32 Grep时,Grep失败,emacs,grep,search,Emacs,Grep,Search,我已经下载并安装了GnuWin32工具,并将grep可执行文件添加到Emacs bin中。我还将GnuWin32-bin文件夹添加到我的Path变量中 但问题是,当我尝试使用建议的grep命令运行时,我总是得到: Grep exited abnormally with code 53 at Wed Feb 24 17:16:12 就我个人而言,我在任何地方都找不到对错误代码53的任何引用( 我已经在许多网站上尝试了这些确切的例子,例如,当我进入: M-x grep <ret> 这

我已经下载并安装了GnuWin32工具,并将grep可执行文件添加到Emacs bin中。我还将GnuWin32-bin文件夹添加到我的Path变量中

但问题是,当我尝试使用建议的grep命令运行时,我总是得到:

Grep exited abnormally with code 53 at Wed Feb 24 17:16:12
就我个人而言,我在任何地方都找不到对错误代码53的任何引用(

我已经在许多网站上尝试了这些确切的例子,例如,当我进入:

M-x grep <ret>
这很好,但我不知道它需要什么参数。我在一些tuorial中尝试了一些,但我再次得到错误代码53

我尝试过的一件事是直接从emacs wiki()中获得的(可能不适用于windows版本),它说要尝试以下命令:

M-x grep -n -e setq ~/.emacs
我试过了,我得到了:

-*- mode: grep; default-directory: "c:/[My Directory]/" -*-
Grep started at Wed Feb 24 17:30:47

grep -n -e setq ~/.emacs NUL

Grep exited abnormally with code 53 at Wed Feb 24 17:30:47
令人沮丧的是,这是Emacs的一个强大功能,我真的很想学习它,因为我听到了很多关于它的好消息

任何帮助都将不胜感激!:)

安迪

更新

根据下面的建议,我已经通过命令行尝试过了,它似乎工作得很好,也许我缺少了一些配置

更新


我发现M-x-occure命令的作用似乎与我想象中的grep差不多。如果我不能让它正常工作,使用grep over会有很多额外的好处吗?

53的退出代码可能是操作系统退出代码,而不是grep特定的退出代码。对于windows,这将是“未找到网络路径”。您是否正在通过网络路径执行任何操作?grep是否需要任何缺少的dll?能否在命令行上成功运行grep?

下载并将
libiconv2.dll
libintl3.dll
pcre3.dll
regex2.dll
复制到Emacs的
bin
目录

grep.exe
find.exe
复制到Emacs自己的
bin
目录。然后,Emacs将在具有相同名称的任何其他可执行文件上使用这些文件,包括Windows自己的
find
实用程序

注意:如果您不使用安装程序,您还需要下载并将
libiconv2.dll
libintl3.dll
pcre3.dll
regex2.dll
复制到Emacs的
bin
目录,否则您可能会收到“异常退出,代码53”错误消息


我也遇到了类似的问题,以下几点对我有效

  • 转到windows控制台
  • 输入命令“set”以显示系统变量
  • 我的shell=c:\progra~1\rational\rational~1\nutcroot\mksnt\sh.exe
  • 输入“set shell=”删除变量
  • 请重试Emacs

  • 祝你好运

    嗨,谢谢你的建议!我没有在网络上做任何事情,所以我不确定这是否是问题所在。刚刚启动cmd,它似乎工作正常(至少没有错误代码53)。我仍然不确定命令语法,但我尝试了grep-n[regex][file],它似乎返回了搜索结果。那么为什么不使用Emacs呢!Grrrr!!!:)你能检查一下你使用的是哪个版本的emacs和grep(
    grep--version
    from command line)吗。我假设它们是最新的(如果不是最新的)版本,因为我大约一周前才下载完。谢谢抱歉,有关emacs的更多信息:GNU emacs 23.1.1(i386-mingw-nt5.1.2600)我不会将可执行文件复制到emacs目录。只需将dir放在系统路径上,并确保在emacs启动时,它使用该系统路径。对第二次更新的响应:
    M-x-occure
    通常仅在单个打开的缓冲区内搜索,而
    M-x grep
    搜索多个文件-非常有用。如果grep不起作用,您可能需要尝试
    M-x-multi-occurse
    。它搜索打开的缓冲区。与grep不太一样,但至少它是一种东西。谢谢,这可能会有用!:)仍然没有让它工作,但没有更多的时间来玩它!嘿,谢谢你的提示,但是我很久以前就放弃了Emacs,学习曲线太陡了,我无法从中得到什么,结果我用记事本++)。。很不幸,我不能测试它!安迪
    -*- mode: grep; default-directory: "c:/[My Directory]/" -*-
    Grep started at Wed Feb 24 17:30:47
    
    grep -n -e setq ~/.emacs NUL
    
    Grep exited abnormally with code 53 at Wed Feb 24 17:30:47