# Navigation and Zoom

Use these controls to move through documents without losing your place.

## Move through editable text

| Shortcut | Action |
| --- | --- |
| Home or End | Move to the start or end of the line |
| Ctrl+Home or Ctrl+End | Move to the start or end of the document |
| Page Up or Page Down | Move by one visible page |
| Ctrl+Up or Ctrl+Down | Scroll one line beneath the cursor |
| Ctrl+G | Go to a line number |
| Ctrl+Left or Ctrl+Right | Move by one word |
| Ctrl+`[` or Ctrl+`]` | Move to the previous or next text block |

Hold **Shift** with a movement shortcut to select the text you cross.

## Move through read-only text

Read-only text uses movement keys for the view instead of a cursor:

| Shortcut | Action |
| --- | --- |
| Up or Down | Scroll vertically |
| Left or Right | Scroll horizontally |
| Ctrl+Left or Ctrl+Right | Scroll horizontally by a larger step |
| Page Up or Page Down | Scroll by one page |
| Shift+Space or Space | Scroll up or down by one page |
| Home or End | Go to the top or bottom |
| Ctrl+Home | Go to the left edge |
| Ctrl+End | Go to the right edge of the visible content |

## Use the outline

Press **Ctrl+D** in an editable document to open its outline. This works when the selected format supplies headings or other outline entries.

The supplied Alpha settings also use:

| Shortcut | Action |
| --- | --- |
| Alt+Up or Alt+Down | Previous or next outline entry |
| Alt+Home or Alt+End | First or last outline entry |
| Alt+Mouse Wheel | Move through outline entries |

Autocomplete choices take priority over Alt+Up and Alt+Down while they are open.

## Scroll and pan

- Use the mouse wheel for ordinary vertical scrolling.
- Hold **Shift** while using the wheel to scroll horizontally.
- Drag with the middle mouse button to pan a document.
- Use **Ctrl+Alt+Mouse Wheel** for a large vertical jump.

Scrollbars remain available when the content extends beyond the view.

## Zoom ordinary documents

| Shortcut | Action |
| --- | --- |
| Ctrl+= | Zoom in |
| Ctrl+- | Zoom out |
| Ctrl+0 | Return to normal size |
| Ctrl+Mouse Wheel | Zoom at the pointer |

The zoom value appears in the status bar.

Markdown, image, font, and ANSI art previews may also accept plain `+`, `-`, and `0`.

## Adjust movement

These settings control common movement:

```lua
config.mouse_wheel_scroll_lines = 12
config.animate_page_scroll = true
config.animate_vertical_edge_scroll = false
config.scroll_keep_cursor_visible = true
config.persistent_cursor_col = true
```

- `mouse_wheel_scroll_lines` chooses how many text lines one wheel step moves.
- `animate_page_scroll` smooths page movement.
- `animate_vertical_edge_scroll` smooths jumps to the top or bottom.
- `scroll_keep_cursor_visible` keeps the cursor visible during either line-scrolling behavior.
- `persistent_cursor_col` remembers the preferred horizontal cursor position while moving through short lines.

The `doc:scroll-line-up` and `doc:scroll-line-down` commands keep the cursor at the same screen height while the document moves beneath it. They are bound to *Ctrl+Up* and *Ctrl+Down* by default.
The `doc:line-up` and `doc:line-down` commands keep the cursor on its document position.
The visibility setting applies to both command pairs.

See [Panes](panes.md) for moving between side-by-side documents.
