An outline view hides parts of a buffer to better display the underlying structure.
Emacs provides several outline features, some come bundled, some must be downloaded.
- Hyperbole: a package in GNU ELPA; includes the Koutliner, the most advanced yet simple outliner for Emacs
- OutlineMode: hides blocks of text in a hierarchy
- OutlineMinorMode: hides block definitions in languages such as C/C++
- HideShow: hides block definitions in languages such as C/C++
- OrgMode: the outliner that does everything (PIM, task management, publishing, and more)
- AllOut: extensive outline formatting and manipulation
- FoldingMode: hides blocks marked with
- KoutlineMode: part of GNU Hyperbole, multi-level, autonumbered, hypertextual outliner
- FoldIngo: a minor folding mode with mouse/menu/face support.
- CategorizingInformationManager: provides ee-outline to operate on outlines
- FoldDwim: a unified user interface for the folding methods of OutlineMode, HideShow, FoldingMode, AUCTeX folding, and NxmlMode.
- TaggingMode: add tags to your file, then filter the blocks shown using tags
- HtmlOutline: shows how to use NxmlMode to fold <ol> based outlines in html.
- Yafolding.el: simple script folding code blocks based on indentation, so, no special strings are needed.
- origami.el: another text folding mode for Emacs.
There is also ooutline and noutline which all refer to some version of
‘outline’, so they are not worth mentioning.
If you want basic IDE-style code folding without hours of research:
- Enable outline-minor-mode (bundled with GNU Emacs, and with better language support from most major modes than hide-show minor mode):
(add-hook 'prog-mode-hook 'outline-minor-mode)
- Install OutlineMagic for sane outline keybindings.