Next: Motion, Previous: Headlines, Up: Document Structure

### 2.3 Visibility cycling

Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to <TAB> and `S-<TAB>` to change the visibility in the buffer.

`<TAB>` (`org-cycle`)
  Subtree cycling: Rotate current subtree among the states

                ,-> FOLDED -> CHILDREN -> SUBTREE --.
                '-----------------------------------'

  The cursor must be on a headline for this to work1. When the cursor is at the beginning of the buffer and the first line is not a headline, then <TAB> actually runs global cycling (see below)2. Also when called with a prefix argument (`C-u <TAB>`), global cycling is invoked.

`S-<TAB>` (`org-global-cycle`)
C-u <TAB>
  Global cycling: Rotate the entire buffer among the states

                ,-> OVERVIEW -> CONTENTS -> SHOW ALL --.
                '--------------------------------------'

  When `S-<TAB>` is called with a numeric prefix argument N, the CONTENTS view up to headlines of level N will be shown. Note that inside tables, `S-<TAB>` jumps to the previous field.

`C-u C-u C-u <TAB>` (`show-all`)
  Show all, including drawers.
`C-c C-r` (`org-reveal`)
  Reveal context around point, showing the current entry, the following heading and the hierarchy above. Useful for working near a location that has been exposed by a sparse tree command (see Sparse trees) or an agenda command (see Agenda commands). With a prefix argument show, on each level, all sibling headings. With double prefix arg, also show the entire subtree of the parent.
`C-c C-k` (`show-branches`)
  Expose all the headings of the subtree, CONTENT view for just one subtree.
`C-c C-x b` (`org-tree-to-indirect-buffer`)
  Show the current subtree in an indirect buffer3. With a numeric prefix argument N, go up to level N and then take that tree. If N is negative then go up that many levels. With a `C-u` prefix, do not remove the previously used indirect buffer.

When Emacs first visits an Org file, the global state is set to OVERVIEW, i.e. only the top level headlines are visible. This can be configured through the variable `org-startup-folded`, or on a per-file basis by adding one of the following lines anywhere in the buffer:

         #+STARTUP: overview
         #+STARTUP: content
         #+STARTUP: showall
         #+STARTUP: showeverything

Furthermore, any entries with a ‘`VISIBILITY`’ property (see Properties and Columns) will get their visibility adapted accordingly. Allowed values for this property are `folded`, `children`, `content`, and `all`.

`C-u C-u <TAB>` (`org-set-startup-visibility`)
  Switch back to the startup visibility of the buffer, i.e. whatever is requested by startup options and ‘`VISIBILITY`’ properties in individual entries.

#### Footnotes

[1] see, however, the option `org-cycle-emulate-tab`.

[2] see the option `org-cycle-global-at-bob`.

[3] The indirect buffer (see the Emacs manual for more information about indirect buffers) will contain the entire buffer, but will be narrowed to the current tree. Editing the indirect buffer will also change the original buffer, but without affecting visibility in that buffer.