Emacs рекурсивный поиск / замена в Windows без Cygwin
Чтобы ответить "где я тоже использовал этот идентификатор?" -вопросы, я бегу на MacOS и Linux
dired-maybe-insert-subdir
dired-mark-files-regexp
сопровождаемый любым из:
dired-do-find-regexp
dired-do-find-regexp-and-replace
В Windows я могу использовать Emacs в качестве своей IDE без Cygwin, за исключением рекурсивного поиска / замены.
Предлагает ли Projectile команды, которые будут искать / заменять идентификатор рекурсивно, не требуя Cygwin?
Любой другой пакет делает возможным рекурсивный поиск / замену в Windows без Cygwin?
Я не беспокоюсь о скорости, потому что даже после установки Cygwin, рекурсивный вызов Cygwin's grep
изнутри Emacs мучительно медленно.
Обновить:
Рекурсивный поиск / замена, кажется, доступен как в Хелме, так и в Снаряде.
Если это правда, то мой вопрос:
- Доступна ли эта функция в Windows без Cygwin?
- Список
require
в моем.emacs
уже чрезмерно. Что такое легкий пакет, который будет выполнять рекурсивный поиск / замену (без Cygwin в Windows)?
Разъяснение:
ХОРОШО. Успех. [Спасибо Дрю] С .emacs
не содержащий ничего, кроме (require 'dired+)
Я могу искать и заменять в отмеченных файлах, используя M-+ Q
в Windows без установленного Cygwin. Я предполагаю, что это также будет работать на Linux/ MacOS, хотя, возможно, не так быстро, как делегирование grep
, (Подтверждение "Действовать по ВСЕМ файлам [] in и ПОД ЭТОМ dir?" Станет утомительным, но это отдельный вопрос.)
По настоящему вопросу один вопрос нуждается в уточнении. dired+
увеличивает встроенный dired
семейство команд. Есть ли способ для этого взять на себя обычный dired-do-find-regexp-and-replace
? Это потому, что с одним вкладышем .emacs
и с несколькими отмеченными файлами в списке каталогов, я получаю
File not found - GREP
File not found - -I
...
File not found - NUL
File not found - ;
указывая на то, что grep
все еще вызывается. Как можно сказать dired+
"Я на Windows, и я не буду устанавливать Cygwin; A
а также Q
?" (отображается по умолчанию dired-do-find-regexp
и вышеупомянутая команда).
Редакция: dired+
кажется немного подавляющим, но если это решит эту одну проблему (устраните необходимость в Cygwin в Windows), то стоит выяснить, как перейти от обычного dired
команды для dired+
,
1 ответ
Я думаю, что вы ищете способ поиска файлов и получения списка тех, которые соответствуют регулярному выражению. Если tags-query-replace
работает у вас на MS Windows (без Cygwin), и я думаю, что должно, тогда вы можете использовать команду diredp-do-query-replace-regexp-recursive
связано с M-+ Q
по умолчанию доступно из Dired+.
Это действует на все помеченные файлы в текущем буфере Dired и на все помеченные файлы во всех помеченных подкаталогах буфера и т. Д. Рекурсивно.
С неотрицательным префиксом arg он действует рекурсивно на все файлы в текущем буфере и на все файлы во всех подкаталогах. (То есть любые метки игнорируются, и эффект такой, как если бы все было помечено.)
Если вместо поиска файлов, которые соответствуют регулярному выражению, вы хотите искать файлы, тогда вы можете использовать команду diredp-do-isearch-regexp-recursive
связано с M-+ M-s a C-M-
по умолчанию также доступно из Dired+. Файлы для доступа определяются аналогично (все Dired+ dired[p]-do...-recursive
Команды действуют аналогично (в зависимости от того, какие файлы определены). Это определенно не требует никаких команд Cygwin и т. Д. - это просто Isearch.