Introduction ------------ The basic command to work with subdirectories in dired is `i', which inserts the subdirectory as a separate listing in the active dired buffer. This package defines function `dired-subtree-insert' which instead inserts the subdirectory directly below its line in the original listing, and indent the listing of subdirectory to resemble a tree-like structure (somewhat similar to tree(1) except the pretty graphics). The tree display is somewhat more intuitive than the default "flat" subdirectory manipulation provided by `i'. There are several presentation options and faces you can customize to change the way subtrees are displayed. You can further remove the unwanted lines from the subtree by using `k' command or some of the built-in "focusing" functions, such as `dired-subtree-only-*' (see list below). If you have the package `dired-filter', you can additionally filter the subtrees with global or local filters. A demo of basic functionality is available on youtube: https://www.youtube.com/watch?v=z26b8HKFsNE Interactive functions --------------------- Here's a list of available interactive functions. You can read more about each one by using the built-in documentation facilities of Emacs. It is adviced to place bindings for these into a convenient prefix key map, for example C-, * `dired-subtree-insert' * `dired-subtree-remove' * `dired-subtree-toggle' * `dired-subtree-cycle' * `dired-subtree-revert' * `dired-subtree-narrow' * `dired-subtree-up' * `dired-subtree-down' * `dired-subtree-next-sibling' * `dired-subtree-previous-sibling' * `dired-subtree-beginning' * `dired-subtree-end' * `dired-subtree-mark-subtree' * `dired-subtree-unmark-subtree' * `dired-subtree-only-this-file' * `dired-subtree-only-this-directory' If you have package `dired-filter', additional command `dired-subtree-apply-filter' is available. See https://github.com/Fuco1/dired-hacks for the entire collection.