emacs windows gitbash 和 cmd.exe shell

问题描述 投票:0回答:1

我有 Windows 版 Emacs。我有 Windows 版的 GITBASH。

我的目标:当我使用 M-x grep 时,如何让 Emacs 使用 GITBASH 版本的 GREP?

注意:由于各种原因,我无法将“C:\Program Files\Git\usr in”放在我的正常 Windows 路径中..(这是 Git Bash 放置 grep.exe 的位置)

我尝试过“自定义变量”,但这不起作用 GRRR...我有:

    '(grep-command "'c:/Program Files/Git/usr/bin/grep.exe'  -n "))

通过上面的内容,我得到 c: 不是命令 将斜杠切换为 \ 我收到不同的错误消息:


'c:\Program Files\Git\usr\bin\grep.exe'  -n target_sources . NUL
The filename, directory name, or volume label syntax is incorrect.

我尝试过 OTHER 变体,但似乎无法弄清楚如何正确引用 GREP 命令。

我相信整个问题是因为“Program Files”路径中的 F-Ing Microsoft 空格并在 elisp 内部引用此内容,以便它在 M-x 命令行生成中幸存下来。

emacs elisp
1个回答
0
投票

经过更多挖掘...找到了答案。

您需要使用短文件名,而不是指定“长文件名”

即:

 '(grep-command "c:\\PROGRA~1\\Git\\usr\\bin\\grep.exe  -n "))

GRR...如果有一种 elisp 方法可以在看到文件名中存在空格时半自动地执行此操作,那就太好了

© www.soinside.com 2019 - 2024. All rights reserved.