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

205
задан Community 23 May 2017 в 02:26
поделиться

3 ответа

  1. M-x find-name-dired: Вам предложат корневой каталог и шаблон имени файла.
  2. Нажимают t для "переключения метки" всех найденных файлов.
  3. Нажатие Q для "Замены запроса в Файлах...": Вам предложат запрос/замену regexps.
  4. Возобновляют как query-replace-regexp: SPACE, чтобы заменить и переместиться в следующее соответствие, n для пропуска соответствия, и т.д.
  5. Нажимают C-x s для сохранения буферов. (Можно тогда нажать y, n или ! для сохранения внезапно)
357
ответ дан siegy22 23 November 2019 в 04:51
поделиться

Я обычно использую другие инструменты для выполнения этой задачи, и она походит на многие подходы, упомянутые в , EmacsWiki Находят и заменяют Через запись Файлов , выходят из оболочки, но Пакет Findr очень перспективные взгляды.

часть Кражи исходный файл :

(defun findr-query-replace (from to name dir)
  "Do `query-replace-regexp' of FROM with TO, on each file found by findr.
13
ответ дан Blair Conrad 23 November 2019 в 04:51
поделиться

Используя сушеный для рекурсивного вызова вниз глубокого дерева каталогов будет немного медленным для этой задачи. Вы могли бы рассмотреть использование замена запроса тегов . Это действительно означает выходить из оболочки для составления таблицы тегов, но это часто полезно так или иначе, и это быстро.

5
ответ дан Alex Coventry 23 November 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: