Emacs: dired-do-query-replace-regex Replace ALL (fixed)

By Xah Lee. Date: , 2011-02

[Note: The following is a suggestion sent to FSF official emacs bug channel, on 2008-05-17, as bug#267. This suggestion is implemented in emacs 23.1, released on 2009-07. See Emacs 23.1 New Features (released 2009-07).]

Emacs suggestion:

When in dired mode in the processing of doing dired-do-query-replace- regexp (shortcut Q), it offers the ability to do replacement without asking on the current file, by pressing the ! key, but it would be nice to have:

I use dired-do-query-replace-regexp few times a week, typically on tens of files, but maybe once in a month i do it over hundreds or thousands of files on a website.

Often, after some replacement, it becomes obvious that it is safe to do ALL replacement for ALL files. When this is needed, typically i can just hold down the ! key. But when the number of files is hundreds or more, typically there will be several 5 second delays where i assume emacs is doing garbage collection. The bottom line is that, holding down ! is not a good solution because i end up having to wait a total of maybe 20 or 30 seconds during the whole operation.

For this reason, i often abort the operation, then switch to a Perl or Python script i've written that does blind find replace on all files. This will finish the job on thousands of files within 5 seconds. But I couldn't reply on this since often i need interactively see and confirm the replacements, which emacs provides. (emacs also lets me view the change file afterward or decide to save them… etc, which i won't be able to do with perl…)

So, it would be nice, if emacs's dired-do-query-replace-regexp offer the option to do all replacement on all files.

Perhaps this can be introduced as pressing the @ key.

For suggestion item (2), the scenario is that sometimes i have a big file and it is apparent that i don't want any replacement to happen on that file. As things are, i have to repeatedly pressing n while paying attention not to go over to the next file. This is a tiring process.

dired-do-query-replace-regexp is very nice and i've been using it for 2 years. For just tens of files the above isn't a problem. But when doing few hundred files, and on tens of replacement pairs (i.e. using dired-do-query-replace-regexp tens of times, each time on hundreds of files), the above features seems a very good one to have. It seems also a logical feature complementing the various recursive edit and edit-replacement-text currently provided by emacs.

PS some background… I'm doing on static websites, which has few hundred or thousand files, such as systematically changing a style markup, etc. In the past 2 days, i spent entire 2 days using dired-do- query-replace-regexp (in combination with Perl and Python script).


Emacs Modernization

  1. Simple Changes Emacs Should Adopt
  2. Why Emacs Keys are Painful
  3. Problems of the Scratch Buffer
  4. M-key Notation vs Alt+key Notation
  5. Menu Problem
  6. Mode Line Problem
  7. cua-mode Problems
  8. kill-buffer Induces Buffer Accumulation
  9. Emacs Form Feed ^L
  10. Inconsistency of Search Features
  11. Single Key to Delete Whole Line
  12. Emacs HTML Mode Sucks
  13. Emacs Does Not Support Viewing Images Files In Windows
  14. Emacs Spell Checker Problems
  15. Adopt HTML as Texinfo Replacement
  16. Support HTML Mail
  17. Problems of “man” Command
  18. Emacs Lisp Mode Syntax Coloring Problem
  19. Emacs Ahk Mode Problems
  20. Problems of Emacs's Manual
  21. Problems of Emacs's Manual; Examples
  22. Emacs: Have You Read Emacs Manual?
  23. Elisp: Ban Syntax Table
  24. Emacs: Make elisp-index-search use Current Symbol
  25. Emacs: Usability Problems of Mode Documentation
  26. Emacs GNU Texinfo Problems; Invalid HTML
  27. A Record of Frustration in IT Industry; Disappearing FSF URLs, 2006
  28. Emacs Manual Node Persistency Issues
  29. Emacs: dired-do-query-replace-regex Replace ALL (fixed)
  30. Problems of Emacs Supporting Obsolete Systems
  31. Elisp: Function to Copy/Delete a Dir Recursively (fixed)
  32. Thoughts on Common Lisp Scheme Lisp Based Emacs
  33. Text Editors Popularity and Market Research
  34. Text Editor's Cursor Movement Behavior (emacs, vi, Notepad++)
  35. GNU Emacs Development Inefficiency
  36. Emacs Dev Inefficiency and Emacs Web 2.0?
  37. Letter-Case Commands Usability Problems
  38. Emacs: Select Line, between Quotes, Extend Selection
  39. Emacs: isearch Current Word
  40. Suggestions on Line Wrap Commands
  41. Emacs: Single Key to Delete Whole Line
  42. Emacs Undo and Emacs Cult Problem

If you have a question, put $5 at patreon and message me.
Or Buy Xah Emacs Tutorial
Or buy a nice keyboard: Best Keyboards for Emacs


Emacs Lisp