Использование Emacs для рекурсивного поиска и замены в текстовых файлах, которые еще не открыты

В качестве продолженияэтот вопросОн пытается выяснить, как сделать что-то подобное, что должно быть легко, что особенно мешает мне привыкнуть к использованию Emacs и вместо этого запустить редактор, с которым я уже знаком. Я использую пример здесь довольно часто при редактировании нескольких файлов.

В Ultraedit я бы сделал Alt + s, затем p, чтобы отобразить диалоговое окно с параметрами: Найти (включая использование регулярных выражений в нескольких строках), Заменить на, В файлах / типах, Каталог, Соответствие регистру, Соответствие только целому слову, Список Изменены файлы и поиск в подкаталогах. Обычно я сначала использую мышь, чтобы щелкнуть и перетащить текст, который я хочу заменить.

Используя только сам Emacs (в Windows XP), без вызова какой-либо внешней утилиты, как заменить все foo \ nbar на bar \ nbaz в*.c а также*.h файлы в какой-то папке и все папки под ней. Может быть, Emacs - не лучший инструмент для этого, но как это легко сделать с помощью минимальной команды?