38.11 Subdirectories in Dired
A Dired buffer displays just one directory in the normal case;
but you can optionally include its subdirectories as well.
The simplest way to include multiple directories in one Dired buffer is
to specify the options ‘-lR’ for running
ls. (If you give a
numeric argument when you run Dired, then you can specify these options
in the minibuffer.) That produces a recursive directory listing showing
all subdirectories at all levels.
But usually all the subdirectories are too many; usually you will
prefer to include specific subdirectories only. You can do this with
the i command:
- Insert the contents of a subdirectory later in the buffer.
Use the i (
dired-maybe-insert-subdir) command on a line
that describes a file which is a directory. It inserts the contents of
that directory into the same Dired buffer, and moves there. Inserted
subdirectory contents follow the top-level directory of the Dired
buffer, just as they do in ‘ls -lR’ output.
If the subdirectory's contents are already present in the buffer, the
i command just moves to it.
In either case, i sets the Emacs mark before moving, so C-u
C-<SPC> takes you back to the old position in the buffer (the line
describing that subdirectory).
Use the l command (
dired-do-redisplay) to update the
subdirectory's contents. Use C-u k on the subdirectory header
line to delete the subdirectory. See Dired Updating.