我试过*。{cc,hh}但是它不起作用(虽然这适用于lgrep)。我也试过这个方法建议她e http://compgroups.net/comp.emacs/searching-multiple-file-types-with-rgrep/95027,但似乎交互模式不允许我输入空格。有什么想法吗?
答案 0 :(得分:7)
*.cc *.hh
是正确的。然后,find命令将使用如下内容:
\( -iname \*.cc -o -iname \*.hh \)
(如果提供前缀参数,则可以在执行命令之前查看/编辑该命令。)
您可以使用quoted-insert
输入空格: Cq SPC 或just-one-space
: M-SPC < / p>
答案 1 :(得分:0)
我(绝望地)推出了一个elisp解决方案:
(defun mrgrep (pattern extensions dir)
(interactive "ssearch for: \nsextensions (space separated, no *): \nD")
(setq includes (mapconcat (lambda (ext)
(concat (format "--include=\"\\*%s\"" ext)))
(s-split " " extensions)
" "))
(setq cmd (format "grep -ir %s %s %s"
includes
pattern
(concat dir "*")))
(setq cmd (read-from-minibuffer "run grep like this: " cmd))
(compilation-start cmd 'grep-mode)
)
但菲尔斯解释了如何进入这个空间!