Here’s what I use for dired:
(setq dired-recursive-deletes 'top dired-recursive-copies 'top dired-dwim-target t) (add-hook 'dired-mode-hook (lambda () (local-set-key (kbd "C-c C-r") 'wdired-change-to-wdired-mode)))
Wdired really beats mmv and all the other tools I thought I should learn but never did. Or if I did I’d forget everything about them until I needed them again. Rename files in an Emacs buffer. Look at the result, and the press C-c C-c to make the changes. It doesn’t get any better than that. JohnWiegley also mentioned that you can use C-x C-s, which fits the model of “save my changes” very well. Personally I use C-c C-c because that’s what I use to “commit” changes when writing VersionControl log messages...
I also like recursive deletes and copies, but I see that they can be tricky, which is why I want to be asked. Once.
And the DWIM option allows dired to guess the target of your copy and rename operations by looking at the other dired buffers visible right now. Thus, open location A, split screen using C-x 2, open location B, and Emacs will know that you want to copy from A to B.
Some people really like to keep the number of dired buffers down. I used to worry about it, too. But then I learned to ignore it. Just make sure that your buffer switching doesn’t show you all the dired buffers unless you want to. Remember, I use bs-show.