Back to the blog

The TipTap editor in bun.ink – write more calmly, format faster, save safely

A look at the less obvious features of the TipTap editor in bun.ink: zen mode, the stealth key, Markdown formatting, shortcuts, and the interplay between local cloud storage and GitHub branches.

A good editor should stand out as little as possible while you write. It should be there when you need it – and disappear the moment you want to focus on your text. That is exactly why bun.ink relies on the TipTap editor: a modern writing surface that can feel calm, yet offers a surprising number of possibilities beneath the surface.

Many of these features do not get loudly in the way. They are more like small levers at your desk: once discovered, they make writing faster, more focused, and safer. This post shows you the most important ones.

Zen mode – just you and the text

Zen mode is the calmest writing environment in bun.ink. While working in /writer, you can toggle it on and off with a shortcut. You decide for yourself which key combination is used: open Settings and then the Editor section. There you will find all the shortcuts that bun.ink provides for the editor or will add in the future.

In zen mode, the point is deliberately not about lots of buttons, menus, or distractions. At its core, you can only adjust two things there:

  • the font size
  • the transparency of the text

These settings are saved so that your calm writing environment looks the way you need it again next time. Zen mode is not meant to be more than that. It is not a second, complicated editor, but a space for writing.

The stealth key – when the text should briefly disappear

A special feature in zen mode is the stealth key. It, too, can be set as its own key in the editor settings.

With this key you quickly switch the transparency of the text between two states:

  • 100 percent transparency – the text is not visible
  • 50 percent transparency – the text is shown half-transparent

This works in this form only in zen mode. The idea behind it is simple: if someone curiously glances at your screen, you can make the text visually disappear with a single keystroke. The window then looks almost empty. This is handy for private notes, unfinished drafts, or simply for moments when your text is nobody else's business yet.

And yes: if you happen to think of curious bosses here, that is of course meant with a wink.

Formatting with the T button

You reach the most important formatting options via the T button. It opens the editor's format menu. There you will find the basic functions you need regularly while writing: headings, lists, emphasis, quotes, and similar basic formats.

In addition, there is a so-called bubble field. It appears automatically when you select a passage of text. Instead of first opening a large menu, you can apply individual basic functions directly to the selection there. This is especially handy when, while revising, you quickly want to set a word in bold, mark a passage as italic, or highlight a section as a quote.

One important point: the TipTap editor in bun.ink creates Markdown documents. Markdown is a simple notation in which formatting is described through certain characters. So you are not writing in a heavy layout format, but in a clear text format that is easy to save, export, and version.

A brief Markdown overview

Markdown works with a few, easily readable characters. Some typical examples:

  • # Heading 1 becomes a large heading.
  • ## Heading 2 becomes a subheading.
  • **bold text** becomes bold text.
  • *italic text* becomes italic text.
  • - list item creates a bulleted list.
  • 1. list item creates a numbered list.
  • > quote creates a quote block.
  • `Code` marks a short code or monospace expression.

Not every visual formatting has its own simple character in classic Markdown. Underlining, for example, is not among the standard formats that Markdown covers through such symbols. That is why certain functions may deliberately not work the way they do in a classic word processor.

There is also this: the Markdown characters should not disturb you while writing. In the actual .md file, the document is provided as Markdown. In certain exports, such as .txt, the formatting characters can become visible, because there the plain text is output including its Markdown notation.

Shortcuts: write faster, click less

TipTap already comes with a range of sensible default shortcuts. Which of them are available in bun.ink depends on which editor functions are actively included. The most important well-known key combinations from the TipTap world are:

  • Copy: Ctrl + C on Windows/Linux, Cmd + C on macOS
  • Cut: Ctrl + X or Cmd + X
  • Paste: Ctrl + V or Cmd + V
  • Paste without formatting: Ctrl + Shift + V or Cmd + Shift + V
  • Undo: Ctrl + Z or Cmd + Z
  • Redo: Ctrl + Shift + Z or Cmd + Shift + Z
  • Bold: Ctrl + B or Cmd + B
  • Italic: Ctrl + I or Cmd + I
  • Strikethrough: Ctrl + Shift + S or Cmd + Shift + S
  • Normal paragraph: Ctrl + Alt + 0 or Cmd + Alt + 0
  • Headings: Ctrl + Alt + 1 to Ctrl + Alt + 6 or Cmd + Alt + 1 to Cmd + Alt + 6
  • Numbered list: Ctrl + Shift + 7 or Cmd + Shift + 7
  • Bulleted list: Ctrl + Shift + 8 or Cmd + Shift + 8
  • Select all: Ctrl + A or Cmd + A

But bun.ink does not stop at the standard functions. The app places particular emphasis on its own shortcuts, developed specifically for a comfortable writing experience. Many of them you can enable, disable, or assign your own key combination in the settings. This includes, for example, the already mentioned shortcut for the stealth key.

Further practical keyboard functions are planned. The goal is clear: you should have to reach for the mouse as rarely as possible while writing. Navigation, focus, formatting, and workflow should all be reachable directly via the keyboard.

Hidden navigation: the keyboard as a writing tool

Shortcuts are not just abbreviations for menu items. They change how writing feels. When you move paragraphs, set headings, open lists, or switch to zen mode without dropping out of your writing flow, your mind stays more firmly in the text.

This is exactly where one of the editor's quiet strengths lies: many navigation and editing functions seem unspectacular, but over a long day of writing they save many small interruptions. Especially with longer manuscripts, notes, or blog articles, that makes a difference.

Saving: locally, deliberately, and with GitHub branches

Saving, too, is worth a closer look, because bun.ink distinguishes between normal writing in local cloud storage and working on a GitHub branch – for example the main branch, or main line. But it is also possible to create your own side branches and name them separately.

When you save manually, your current state is mainly secured in bun.ink's local cloud database. This is the normal path for texts you edit directly in bun.ink. You press Save, and the current content is stored for your project.

It is different when you work on a GitHub branch. A branch is its own working line in GitHub. Changes on such a branch are not saved in the local cloud database. Instead, they can be committed and pushed to GitHub. The change then lives on GitHub in exactly that branch.

From there you have two options:

  1. You later bring the changes back into the main line, usually main. This combining is called a merge. After that, the changes can also end up in bun.ink's local cloud storage again.
  2. You leave the changes only on GitHub, for example because it is meant to remain an experiment, an alternative version, or a draft.

That sounds more technical than it has to feel in everyday use. At its core it means: normal texts are saved locally in the bun.ink cloud. Branch work belongs to GitHub first and only becomes part of the main state through commit, push, and possibly merge.

Local versions – snapshots without any GitHub

Not everyone wants to or can use a GitHub account. For exactly this case, bun.ink offers – like other writing apps too – local versions: small snapshots of a document that you can create yourself at any time. They work independently of GitHub.

You find them in the sidebar under the History tab. There you can:

  • create a new snapshot of your current state with Save version,
  • compare a saved version in the editor with your current text,
  • restore an earlier version – your current text is first secured as a new version, so nothing is lost.

In addition, bun.ink creates automatic versions in the background – entirely without your involvement. This happens gently and only when it is worthwhile: typically when you take a short writing break, something has noticeably changed since the last snapshot, and enough time has passed since the last automatic version (on the order of about ten minutes). That way, a safety net is created on the side in case you ever forget to save a version yourself. In the history, such entries are marked as Automatic, and manually created ones as Manual.

The number of manually created versions is deliberately limited: per document you can save up to ten versions. Once this limit is reached, you simply delete a version you no longer need to make room for a new one. Automatic versions do not count toward this limit and are never blocked – they are an additional safety net, not a replacement for deliberately saving important states.

One note: the history always refers to the main state of your document. In branch mode it is not available – branch states belong on GitHub, as described above.

That way, even without GitHub, you get a simple, traceable version history directly in bun.ink.

What happens when you close, log out, or get auto-logged out?

An editor must not only be able to save. It must also warn you when you are about to lose unsaved work.

When you close a tab or want to log out even though new changes have appeared since the last save, bun.ink should make you aware of it. The editor recognizes that the current content has not yet been secured and gives you the option to save first or to continue the action deliberately.

Equally important is the auto-logout function. When it is enabled, it protects your account by automatically logging you out after a certain time of inactivity. So that nothing is lost in the process, bun.ink automatically saves all open changes to your account's local cloud storage before the automatic logout – otherwise those changes would be lost on logout. A GitHub push does not happen here, though. You can turn the auto-logout function on and off under Settings in the Security section.

Even so, it makes sense, especially during longer writing sessions, to save manually on a regular basis – particularly when you are working on a GitHub branch and your changes only really arrive there through commit and push.

This is exactly where a clear rule of thumb applies: on a GitHub branch, only the commit and push to GitHub really saves your work. Until then, branch changes live solely locally in this browser. On a logout, a browser crash, or an accidentally closed tab, only the already pushed states of a branch are secured – anything not yet pushed can be lost. So push more often than you think: pushing too much is practically impossible.

An editor that quietly thinks along

The TipTap editor in bun.ink is not simply a text field. It combines a reduced writing surface with Markdown, shortcuts, zen mode, a stealth function, local versions, and a saving model that supports both local cloud texts and GitHub branches.

It works best when you do not see it as a toolbox full of buttons, but as a writing space with a few well-placed switches. Some of them you will use every day. Others you only need in special moments. But they are there – hidden enough not to disturb, and close enough to protect your writing flow.