# Hotkeys

Sanny Builder supports many common shortcuts for the file and text operations (`Ctrl+N`, `Ctrl+Z`, etc) as well as some custom ones. Hotkeys marked with `*` are [customizable](/editor/options/hotkeys.md).

| Key/Combo                                                                                                            | Operation                                                                                                              |
| -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Main Menu**                                                                                                        |                                                                                                                        |
| `Ctrl`+`N`                                                                                                           | New File                                                                                                               |
| `Ctrl`+`O`                                                                                                           | Open File                                                                                                              |
| `Ctrl`+`W`                                                                                                           | Close File                                                                                                             |
| `Ctrl`+`Shift`+`T`                                                                                                   | Reopen Last Closed File                                                                                                |
| `F5`\*                                                                                                               | Open a file as a script and disassemble                                                                                |
| `F6`\*                                                                                                               | Compile the current file into a script                                                                                 |
| `F7`\*                                                                                                               | Compile the current file into a script and copy it to the game's scripts directory                                     |
| `F8`\*                                                                                                               | run the game for the current [edit mode](/edit-modes.md)                                                               |
| `F10`                                                                                                                | open the [options](/editor/options.md) window                                                                          |
| `F12`\*                                                                                                              | open the documentation                                                                                                 |
| **Debugger**                                                                                                         |                                                                                                                        |
| `F9`\*                                                                                                               | Continue debugging                                                                                                     |
| `F11`\*                                                                                                              | Step Into                                                                                                              |
| **Text**                                                                                                             |                                                                                                                        |
| `TAB`, `Shift`+`TAB`                                                                                                 | indent the selected text to the left / right (tab)                                                                     |
| <p><code>Ctrl</code>+<code>Alt</code>+<code>A</code></p><p><code>Ctrl</code>+<code>Alt</code>+<code>D</code></p>     | indent the selected text to the left / right (by one character)                                                        |
| <p><code>Ctrl</code>+<code>Shift</code>+<code>U</code></p><p><code>Ctrl</code>+<code>Shift</code>+<code>L</code></p> | convert the word to uppercase / lowercase                                                                              |
| `Ctrl`+`+`                                                                                                           | increase the text size (zoom in)                                                                                       |
| `Ctrl`+`-`                                                                                                           | decrease the text size (zoom out)                                                                                      |
| `Ctrl`+`T`                                                                                                           | delete the word under the cursor                                                                                       |
| `Ctrl`+`Y`                                                                                                           | delete the line                                                                                                        |
| `Ctrl`+`Shift`+`Y`                                                                                                   | clear the line                                                                                                         |
| `Ctrl`+`/`\*                                                                                                         | [comment / uncomment](/language/comments.md) the line                                                                  |
| **Navigation**                                                                                                       |                                                                                                                        |
| `Ctrl`+`Shift`+`B`                                                                                                   | jump between brackets: `{}`, `()`, `<>`, `[]`                                                                          |
| `Ctrl`+`Up/Down`                                                                                                     | scroll the page one line up / down                                                                                     |
| `Ctrl`+`Mouse Wheel Up/Down`                                                                                         | page up / down                                                                                                         |
| `Ctrl`+`Shift`+`0..9`                                                                                                | toggle a [bookmark](/editor/features.md#bookmarks-quick-jump) on the line                                              |
| `Ctrl`+`0..9`                                                                                                        | navigate to line with the [bookmark](/editor/features.md#bookmarks-quick-jump)                                         |
| `Ctrl`+`G`\*                                                                                                         | go to the line                                                                                                         |
| `Alt`+`Right`\*                                                                                                      | [navigate to symbol](/editor/features.md#navigate-to-symbol) under the cursor (a label, mission or function)           |
| `Alt`+`Left`\*                                                                                                       | navigate back to the previous position (where [Navigate to Symbol](/editor/features.md#navigate-to-symbol) was called) |
| `Ctrl`+`Enter`                                                                                                       | open a file which name is under the cursor (see also [relative path priorities](/language/directives.md#usdinclude))   |
| **Code**                                                                                                             |                                                                                                                        |
| `Ctrl`+`Space`                                                                                                       | show the list of classes / class members / models / labels / variables / missions                                      |
| `Ctrl`+`Shift`+`Space`                                                                                               | show the list of parameters for the current class command                                                              |
| `Ctrl`+`Shift`+`C`\*                                                                                                 | insert the [player's coordinates](/editor/features.md#player-coordinates-management)                                   |
| `Ctrl`+`Shift`+`E`\*                                                                                                 | insert the [player's z\_angle](/editor/features.md#player-coordinates-management)                                      |
| `F1`                                                                                                                 | find an opcode with the word under the cursor (with ignoring of `_` and `.`)                                           |
| `Ctrl`+`F1`                                                                                                          | find an opcode with the word under the cursor (without ignoring of `_` and `.`)                                        |
| `Tab`\*                                                                                                              | use the word under the cursor to expand to the [code template](/edit-modes/code-templates.md) with the same name       |
| `Ctrl`+`J`                                                                                                           | show the list of [code templates](/edit-modes/code-templates.md)                                                       |
| `Ctrl`+`M`                                                                                                           | start/stop recording of a [macro ](/editor/features.md#keypress-recording-macro)(keystroke pressings sequence)         |
| `Ctrl`+`P`                                                                                                           | replay [macro](/editor/features.md#keypress-recording-macro)/pause while processing                                    |
| `Ctrl`+`H`\*                                                                                                         | convert a number under the cursor from and to hexadecimal format (0x)                                                  |
| `Ctrl`+`B`\*                                                                                                         | convert a number under the cursor from and to binary format (0b)                                                       |
| `Ctrl`+`Alt`+`H`\*                                                                                                   | convert the model name under the cursor to its numeric ID and vice versa                                               |
| **Misc**                                                                                                             |                                                                                                                        |
| `Alt`+`S`                                                                                                            | (when the list of models is active) re-sort the list                                                                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sannybuilder.com/editor/hotkeys.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
