W Emacs 23.2 i nowszych dostępny jest moduł dired-x.el
, który daje dostęp do polecenia, które wykonuje dokładnie to, co chcesz. Po załadowaniu (zwykle tylko (load "dired-x")
), będziesz mógł wywołać funkcję dired-do-find-marked-files
. Oto jego wbudowanej dokumentacja:
(dired-do-find-marked-files &optional NOSELECT)
Find all marked files displaying all of them simultaneously.
With optional NOSELECT just find files but do not select them.
The current window is split across all files marked, as evenly as possible.
Remaining lines go to bottom-most window. The number of files that can be
displayed this way is restricted by the height of the current window and
`window-min-height'.
To keep dired buffer displayed, type C-x 2 first.
To display just marked files, type C-x 1 first.
Więc po dired-x
jest załadowany, można po prostu użyć Mxdired-do-find-marked-files
RET a dostaniesz dokładnie to, co twoje pytanie prosi: wszystkie zaznaczone pliki zostaną odwiedził jako chociaż na każdym z nich uruchomisz dired-find-file
.
Dzięki za to! Mały punkt stylistyczny, ale nie musisz używać 'let *' w tym przypadku (wystarczy "let"). Naprawdę moglibyśmy po prostu uprościć tę ostatnią formę do '(mapc 'find-file (dired-get-marked-files nil arg))'. – camdez