Cygwin 查找:参数格式不正确

Cygwin 查找:参数格式不正确,cygwin,find,Cygwin,Find,我一直听说这是cygwin的路径问题。这是为了防止emacs在我的cygwin内工作。在cli上执行find(而不是bash/cygwin)时,无论键入什么,都会出现相同的错误。我已经读到,这是cygwin中的路径创建问题,它应该将自身预先设置为路径。正如你所看到的,它正在这样做 这是我的/etc/profile PATH=/usr/local/bin:/usr/bin:/bin:$PATH export PATH 问题是,正如其他人所说,emacs正在使用windows提供的find.exe

我一直听说这是cygwin的路径问题。这是为了防止emacs在我的cygwin内工作。在cli上执行find(而不是bash/cygwin)时,无论键入什么,都会出现相同的错误。我已经读到,这是cygwin中的路径创建问题,它应该将自身预先设置为路径。正如你所看到的,它正在这样做

这是我的/etc/profile

PATH=/usr/local/bin:/usr/bin:/bin:$PATH
export PATH

问题是,正如其他人所说,emacs正在使用windows提供的find.exe。要更改此设置,您需要更改%userprofile%.emacs文件

正如其他人所说(甚至是faq!),此文件不再自动创建。进入选项>保存选项迷你缓冲区(emacs底部的一行)将告诉您文件写入的位置

进入并添加这一行(您已经在c:\cygwin安装了cygwin,对吗?):


您可能需要重新启动Emacs才能使其生效。

奇怪的是,我需要使用

(setq find-program "/bin/find.exe")
相反


但是谢谢你的建议。

只需将这一行添加到你的个人资料中即可。


别名find='/cygdrive/c/cygwin/bin/find.exe'

“c:/cygwin/bin/find.exe”
。如果您使用emacs-w32(本机Windows GUI),那么“/usr/bin/find”就更好了。这样你就可以把它放到~/.emacs上,在linux和cygwin上使用这个配置而不做任何更改。可能是因为需要加倍反斜杠。我编辑了Drew的答案以反映这一点。
(setq find-program "/bin/find.exe")