# Writing and formatting

> Shortcuts are written for the Mac. On Windows and Linux, use Ctrl where it says Cmd, unless the text names another key.

Click into a page and type. Thymer's editor keeps your text in lines, and every line has a type: text, heading, list item, task, quote, code, divider, banner, block. You can select across lines and format, change a line's type at any time, and fold or move any line with everything under it.

Hover in front of a line to see its handle. Click the handle for the line's menu, or drag it to move the line. Ctrl+O opens the same menu for the line the cursor is on.

## Formatting text

| Format | How |
| --- | --- |
| Bold | Cmd+B |
| Italic | Cmd+I |
| Inline code | Cmd+E |
| Link to a web address | Cmd+Shift+K, or paste a URL over the selected text |
| Link to a page | Select the text and press `@` |
| Mention, date, tag | Type `@` and pick them from the @-menu |
| Icon in front of a heading | Type `@` in the heading and pick an icon |

While text is selected, the status bar at the bottom of the window shows the same options; click one to apply it. The status bar also counts the words and characters you selected. Inline code can calculate: `12 * 3 =` shows 36. See [Calculations](calculations.md).

The text cursor shows the active formatting: it leans for italic, thickens for bold and becomes a small box for code. Press Cmd+B, Cmd+I or Cmd+E with nothing selected and what you type next gets that style.

## Selecting

Cmd+A expands the selection one step at a time: the text of a task or list item, then the whole line, then the line with its children, then the lines around it, up to the whole page. Double-click selects a word, triple-click the line, and quad-click the line with its children.

Copy and paste keep outlines and nested lines as they are.

## The @-menu

Type `@` anywhere and the @-menu opens. It has everything beyond plain typing:

- **Links** to a page, to a line, or to a page it creates for you on the spot. See [Links and backlinks](links-and-backlinks.md).
- **People**, to mention or assign. **Dates and times**, in plain words like `next friday 3pm`. **Tags**. **Icons**, in front of a heading.
- **Insert**: an image, video or attachment, a code block, a divider, a block, a banner, a live query.
- **Turn into**: a heading, a list, a task, a quote, a code block, an ASCII art banner, a link button.
- **Tasks**: set a flag, a due date, schedule it, assign it.

If you meant a literal `@`, press Escape: the menu closes and the `@` stays. On a phone, pick **Keep @ as text**.

## Line types

Type a prefix at the start of a line, followed by a space, or pick **Turn into** from the @-menu or the line's menu.

| Type | Prefix |
| --- | --- |
| Heading 1 to 6 | `#` to `######` |
| Bulleted list | `-` |
| Numbered list | `1.` |
| Task | `*` |
| Quote | `>` |
| Plain text | `=` |
| Code block, divider, banner | From the @-menu |

Headings own what comes under them until the next heading of the same or a higher level, so folding, moving, zooming and copying a heading takes its whole section. See [Outlines and folding](outlines-and-folding.md). The line's menu also duplicates or deletes a line.

## Blocks

A block groups lines in a frame that folds as one. Pick **Plain Block** from the @-menu, or **Info Block**, **Warning Block** or **Quote Block** for a styled one, or select lines and turn them into a block. **Change block style** switches between:

- **Plain**, a frame without a tint.
- **Note**, tinted, for the thing a reader should see first.
- **Warning**, for the thing they must not miss.
- **Quote**, for something someone said.
- **Columns**, side by side; see below.

**Zoom in on block** makes the block the whole panel; **Select block** selects it with everything in it.

The cursor can sit before, inside or after a block, and blocks nest and indent like lines, so a block can hold another block.

## Columns

Columns are a special block with the Columns style. Each column holds any lines, including other blocks, and Thymer lays the columns out side by side. **Insert Column** adds one, **Move Column Left** and **Move Column Right** reorder them. Use columns for pages with a visual layout, such as a dashboard, a comparison or a team page.

## Code

**Code Block** from the @-menu, with a language for syntax highlighting; **Set syntax highlighting** changes it later. The lines in a code block are ordinary lines, so you can format, mention or add a task inside code. Code in a page is text; to run JavaScript in Thymer, write a [plugin](../plugins.md).

## Banners

A banner turns a line into big ASCII art lettering. Three styles: **Flames**, animated, **Neon**, in rainbow colors, and **Console**, animated in one color. Pick one from the @-menu or turn an existing line into a banner.

## Images, files and media

Drop or paste an image or a file, or pick **Media** or **Attachment** from the @-menu. Paste a link to YouTube, X, Instagram and other services, then right-click it to show it as an embedded player or post; see [Embeds](images-and-files.md#embeds). For more, see [Images and files](images-and-files.md).

## Live queries and transclusions

A **Live Query** block shows search results inside the page and keeps them current. A **transclusion** shows lines or a page from elsewhere, editable in both places. See [Live queries](../search-and-navigation/live-queries.md) and [Links and backlinks](links-and-backlinks.md).

## Link buttons

A line of links can show as buttons: **Link Icon / Button** turns a link into one, **Link as Buttons** and **Link with Icons** style a whole line, and **Turn button into regular link** undoes it. Good for a row of destinations at the top of a page.

## Copy and paste as Markdown, HTML or text

Cmd+V pastes whatever the clipboard holds, so formatted text from other apps arrives with its formatting. To choose the format yourself, use the paste and copy menus. They work in any page, wherever the cursor is.

**Paste as.** Cmd+Shift+V opens the paste menu at the cursor:

| Option | Result |
| --- | --- |
| Paste (Default) | The same as Cmd+V |
| Paste Markdown | Markdown text becomes real headings, lists, tasks and code blocks |
| Paste HTML | Formatted text keeps its formatting |
| Paste Text | Plain text, formatting dropped |
| Paste Reference | A link to the lines you copied in Thymer |
| Paste Transclusion | The lines you copied, shown in place |

Cmd+Alt+V pastes as Markdown straight away, without the menu.

**Copy as.** Cmd+Shift+C opens the copy menu: **Copy Markdown**, **Copy HTML**, **Copy Text**, **Copy Reference** and **Copy Transclusion**. It copies the selection, or the line the cursor is on when nothing is selected. To copy a whole page as Markdown, press Cmd+A until the page is selected, then Cmd+Shift+C and **Copy Markdown**. Use it to put a page into an email, an issue or a chat with an AI assistant.

The menu of a line or a selection has the same choices, worded **Copy as Markdown**, **Paste as Markdown** and so on. Copy as Markdown, HTML or Text and Paste as HTML or Text have no key of their own. To give one a key, bind its action in **Settings → Keyboard Shortcuts**: `global.copyMarkdown`, `global.copyHTML`, `global.copyText`, `global.pasteHTML` or `global.pasteText`. See [Keyboard shortcuts](../start-here/keyboard-shortcuts.md#change-a-shortcut).

Cut and paste moves lines rather than copying them when it can. For whole folders of Markdown, see [Importing content](../your-data/importing-content.md). To work in files all the time, see [Markdown Mirror](../markdown-mirror.md).
