Jotura

Docs / Using the app / Keyboard shortcuts

Keyboard shortcuts

Every keyboard shortcut in the Jotura desktop app, covering global chords, editor and formatting keys, tables, the file tree, and the Escape cascade.

This is the complete shortcut reference for the Jotura desktop app. Shortcuts fall into two groups that behave differently, so it is worth understanding the split before you read the tables.

How the modifier keys work

Jotura binds shortcuts in two separate layers, and they treat Cmd and Ctrl differently.

The global layer listens on the whole window and tests for either modifier. It accepts Cmd or Ctrl interchangeably on every platform, so Ctrl+P opens quick open on a Mac just as Cmd+P does. Every global chord also requires that Alt (Option) is not held.

The editor layer lives inside the note editor and uses the strict per-platform mapping. On macOS these chords need Cmd, and on Windows and Linux they need Ctrl. There is no interchangeable fallback here.

There is a third thing that looks like a binding but is not. The command palette prints a shortcut label next to a command, and that label is only a string for display. It binds nothing on its own. For two of the eighteen commands the label is true only while the note editor has focus, which the editor section below spells out.

Global shortcuts are registered in the capture phase, so they run before the editor sees the key. The practical consequence is the Tab caveat below: Tab is claimed whenever a modifier is held, so it never reaches the editor in that state.

Global shortcuts

These fire from anywhere in the app, whether or not the editor has focus. The last column gives the name to type in the command palette, which is the only reliable way to find a command there.

ActionmacOSWindows and LinuxCommand palette nameNotes
Toggle the command paletteCmd+Shift+PCtrl+Shift+POpen Command PaletteToggles, so the same chord closes it
Open the search pageCmd+Shift+FCtrl+Shift+FSearch VaultOpens the full search tab
Toggle quick openCmd+PCtrl+POpen Quick OpenMatches file names only
Toggle the sidebarCmd+\Ctrl+\View: Toggle SidebarLeft sidebar only
Close the active tabCmd+WCtrl+WClose TabDoes nothing when no tab is active
Reopen the last closed tabCmd+Shift+TCtrl+Shift+TReopen Recently Closed TabThe list holds 20 entries per vault
Next tabCmd+TabCtrl+TabNext TabSee the caveat below
Previous tabCmd+Shift+TabCtrl+Shift+TabPrevious TabSee the caveat below
Dismiss the top overlayEscapeEscapeNo commandFollows the cascade below

Two caveats sit with the tab chords. First, the handler claims Tab whenever a modifier key is held, so Tab does not indent inside the editor while you hold Cmd or Ctrl. Second, macOS normally routes Cmd+Tab to the system application switcher before the app ever sees it. If that happens on your Mac, use Ctrl+Tab instead, which the global layer accepts on every platform. You can also run Next Tab or Previous Tab from the command palette.

Quick open and the search page do different jobs. Quick open matches file base names, and the search page searches content. Search covers the difference in full.

The Escape cascade

Escape resolves against a strict priority order and stops at the first match.

  1. If the command palette is open, close it.
  2. Otherwise, if the settings modal is open, close it.
  3. Otherwise, if quick open is open, close it.
  4. Otherwise, if the active tab is a search tab, close that tab.

If none of those apply, Escape falls through to whatever has focus.

Modal dialogs handle their own Escape separately, through a shared focus trap. That trap is why Escape also closes the share modal, the sign-in modal, the sync setup wizard, the sync unlock modal, the restore vault modal, the template picker, quick open, and the command palette.

The sync setup wizard is the one exception worth knowing. Its enabling step cannot be closed at all, and closing on the recovery phrase step warns you first that the phrase will not be shown again.

Editor shortcuts

These three chords are bound inside the editor, so they only fire while the note editor has focus. From a search tab, the file tree, or the dashboard, the chord itself does nothing.

ActionmacOSWindows and LinuxCommand palette name
Insert a link to another noteCmd+LCtrl+LInsert Link to Note…
Set or edit a link on the selectionCmd+KCtrl+KNo command
Toggle source modeCmd+Shift+ECtrl+Shift+EEditor: Toggle Source Mode

Two of the three have a palette fallback. Insert Link to Note and Editor: Toggle Source Mode both appear in the palette with their chord printed beside them, and running them from there reaches the editor by a different route. Cmd/Ctrl+K has no command at all, so there is no palette fallback for it. Its non-keyboard route is the Link button in the bubble menu that appears over a selection, which runs exactly the same logic.

The two link chords produce different results. Cmd/Ctrl+L opens the note picker and inserts a wikilink such as [[Meeting notes]], or [[Meeting notes|the notes]] when you had text selected. Cmd/Ctrl+K works on the current selection and writes a standard Markdown link instead.

Cmd/Ctrl+K opens a plain system prompt dialog labeled Link URL (leave empty to remove):, prefilled with the current link address when the selection already carries one. Submitting a value sets the link, submitting an empty value removes it, and canceling leaves the document untouched.

Source mode also has a button in the editor header labeled Source or Preview. See The editor for what changes between the two modes.

Formatting

Every formatting chord below is live in the note editor.

ActionmacOSWindows and Linux
BoldCmd+BCtrl+B
ItalicCmd+ICtrl+I
StrikethroughCmd+Shift+SCtrl+Shift+S
Inline codeCmd+ECtrl+E
Heading 1 through 6Cmd+Option+1 to Cmd+Option+6Ctrl+Alt+1 to Ctrl+Alt+6
Plain paragraphCmd+Option+0Ctrl+Alt+0
BlockquoteCmd+Shift+BCtrl+Shift+B
Code blockCmd+Option+CCtrl+Alt+C
Outdent inside a code blockShift+TabShift+Tab
Bullet listCmd+Shift+8Ctrl+Shift+8
Ordered listCmd+Shift+7Ctrl+Shift+7
Task listCmd+Shift+9Ctrl+Shift+9
Hard line breakCmd+Enter or Shift+EnterCtrl+Enter or Shift+Enter
UndoCmd+ZCtrl+Z
RedoCmd+Y or Cmd+Shift+ZCtrl+Y or Ctrl+Shift+Z

Backspace at the start of a blockquote lifts the line out of the quote rather than deleting backwards.

The slash menu offers headings 1 to 3 only. Headings 4, 5, and 6 are reachable with the chords above or by typing #### at the start of a line.

One caveat belongs here. The editor toolkit Jotura builds on also binds Cmd/Ctrl+U to underline, and that binding is live. Markdown has no underline syntax and the editor does not emit raw HTML, so what an underlined run saves as has not been established. Treat Cmd/Ctrl+U as an accidental binding rather than a supported feature, and use bold or italic instead.

Lists and tasks

KeyEffect
Enter in a non-empty itemSplit the item and start a new one
Enter in an empty itemLeave the list entirely, in one press
TabIndent the item one level
Shift+TabOutdent the item one level
Backspace or DeleteList-aware join with the neighboring item
Cmd/Ctrl+Backspace or Cmd/Ctrl+DeleteList-aware delete across the item boundary

The empty-item Enter rule has a condition attached. It fires only when the item is genuinely empty and has nothing nested under it. An empty item that still holds a sublist does not exit the list, and Enter falls through to the ordinary split instead.

When the rule does fire, it exits the whole list in one press. An empty item nested two levels deep leaves the list entirely rather than outdenting one level at a time.

Typing - followed by [ ] or [x] converts a bullet into a task item. Daily notes, tasks, and templates covers what happens to those tasks elsewhere in the app.

Tables

Tables override three keys inside a cell, and inherit the rest.

KeyEffect
TabMove to the next cell. At the last cell this adds a row and moves into it.
Shift+TabMove to the previous cell
EnterInsert a line break inside the cell instead of splitting the block
Cmd/Ctrl+EnterAdd a row below and move into the next cell
Cmd/Ctrl+Shift+BackspaceDelete the current row
Backspace, Delete, Cmd/Ctrl+Backspace, or Cmd/Ctrl+DeleteDelete the whole table when every cell is selected

Cmd/Ctrl+Enter therefore does something different inside a table than it does in ordinary text, where it inserts a hard line break. Row and column insertion, deletion, alignment, and resizing are also available from the gutter handles around the table.

What Enter does, in order

Enter is claimed by several features, and they resolve in a fixed order. Inside a table cell, the table wins and inserts a line break. Otherwise, if the cursor sits in an empty list item that meets the condition above, the list exit rule wins. Otherwise, the list item splits. Everywhere else Enter starts a new paragraph.

Source mode

Source mode is a plain CodeMirror pane with the standard editing keymap plus undo and redo. Standard cursor and selection keys behave the way they do in any CodeMirror editor.

Undo and redo do not match the WYSIWYG editor exactly, because CodeMirror maps redo differently on macOS.

ActionmacOSWindows and Linux
UndoCmd+ZCtrl+Z
RedoCmd+Shift+ZCtrl+Y, or Ctrl+Shift+Z on Linux

Cmd+Y does nothing in source mode on a Mac, even though it redoes in the WYSIWYG editor.

There is no in-pane find in source mode. Cmd/Ctrl+F is not bound anywhere in the app, so to find text you use Cmd/Ctrl+Shift+F, which searches the whole vault rather than the open file. The same keymap applies to plain text files opened outside the Markdown editor.

File tree navigation

The file tree in the left sidebar is fully keyboard navigable. These keys work whenever focus is inside the tree.

KeyEffect
Down arrowMove to the next visible row
Up arrowMove to the previous visible row
Right arrowExpand a collapsed folder, or move down one row in an expanded folder. Does nothing on a file.
Left arrowCollapse an expanded folder, or jump to the parent folder row
EnterOpen the focused file
F2Start renaming the focused row

Rows inside collapsed folders are skipped, so arrow navigation only walks what you can see.

Inline rename and create inputs share two keys and differ on a third. Enter submits and Escape cancels in both. Clicking away submits a rename but cancels a create. A create input preselects the file name up to the last dot so the extension survives typing, while a rename selects the whole name. Double-clicking a file row also starts a rename.

Resizing the sidebar

The divider between the left sidebar and the editor is reachable with Tab. Once it has focus, Left arrow and Right arrow resize the sidebar in 16 pixel steps. The width is clamped between 200 and 600 pixels, defaults to 300, and saves immediately.

The right sidebar resizes with the mouse only. It has no keyboard equivalent.

Moving through lists and menus

The overlay lists in the app take arrow keys and Enter, but they do not all wrap at the ends. The image context menu is the exception and takes only Escape.

SurfaceKeysAt the ends
Quick openUp, Down, EnterStops
Command paletteUp, Down, Enter, EscapeStops
Template pickerUp, Down, EnterStops
Link pickerUp, Down, EnterWraps around
Slash menuUp, Down, Enter, EscapeWraps around
Sidebar search paneUp, Down, Enter, EscapeStops
Image context menuEscapeNot applicable

Escape in the sidebar search pane blurs the input and returns focus to the Files pane rather than closing anything.

The slash menu does not handle Tab at all. Unlike the modal dialogs below, it lets the key through to whatever would normally receive it.

The search page is the other exception. Its results are ordinary buttons reached with Tab, not an arrow-navigable list.

Inside any modal dialog, Tab cycles through the focusable elements and wraps at both ends, focus cannot escape the dialog, and closing it returns focus to wherever you were before.

Commands with no shortcut

Eight of the app’s eighteen commands have no key binding at all. Open the command palette with Cmd/Ctrl+Shift+P and type a few letters of the name.

CommandGroup
Open SettingsApp
Open Search PanelSearch
New Note (in vault root)Files
New Note from Template…Files
Share Current Note…Files
History for Current NoteFiles
Export as HTML…Editor
Print / Save as PDFEditor

Share Current Note and History for Current Note silently do nothing when the active tab is not a Markdown note. Sharing a note also requires a paid Sync subscription, which is priced on the pricing page.

Palette matching is a fuzzy subsequence search over the command name, so nft finds New Note from Template. See Settings reference, Version history, and Sync and sharing for what those commands open.

There is no save shortcut

Cmd/Ctrl+S is not bound to anything, because Jotura has no manual save. The editor writes to disk one second after you stop typing, and also flushes immediately when the editor loses focus or the window is hidden. Read-only tabs never become dirty and never write.

A dirty tab shows a single dot next to its title in the tab bar until the write lands. If you want to force a write before switching away, clicking outside the editor is enough.

Why the dashboard shows Mac symbols on Windows

The dashboard appears whenever no tab is open, and it offers four quick action buttons: New note, Quick open, Search vault, and Command palette. Three of them print a shortcut hint, and every hint uses macOS symbols on every platform. A Windows or Linux user sees the Cmd glyph even though Ctrl is the key that works.

Those three chords are otherwise correct, because the global layer accepts either modifier. New note carries no hint because it has no key binding at all, and it is one of the eight palette-only commands listed above.

One card does not agree with its own hint. The Search vault button opens the sidebar search pane, while the chord printed beside it opens the search page as a tab. They are two different surfaces with the same name, and only the chord gives you the search page. Search explains what each one does, and Getting started walks through the other quick actions.