Clew Manual

Reference

Settings and hotkeys

Clew keeps its configuration small and legible: a handful of app-wide preferences, a handful of per-vault switches, and a hotkey editor that can rebind any command. This chapter is the reference for all of it — every settings section as it appears in the app, the difference between app-global and per-vault settings and where each lives on disk, how rebinding works, and the complete table of default hotkeys.

The settings tab

Press ⌘, (or Clew → Settings… on macOS, File → Settings… on Windows and Linux) and settings open as a tab in the workspace, not a floating dialog. It is a singleton: if a settings tab is already open anywhere — even in another split pane — the command focuses it rather than opening a second. Being a tab, it closes with ⌘W like anything else, and can sit in a split beside a note while you experiment. Every change applies immediately; there is no Save button.

The settings tab open on the hotkey editor, showing a filter field and rows of commands with their current key chords and Set and Reset buttons
The settings tab, scrolled to the hotkey editor: filter to a command, press Set, type the new chord.

App-global versus per-vault

Clew has exactly two configuration scopes, and the settings tab shows both:

One section, TeX fragments, has a list in each scope: fragments you keep on this machine and fragments a vault carries with it, with the vault's winning where both use a name.

The settings sections

Appearance

Theme
Dark or light. See Theming and CSS snippets for what the switch reaches and how to restyle further.
New note tabs open in
Whether a freshly opened note tab starts in source mode, live edit, or reading mode. Navigating an existing tab keeps that tab's current mode; this setting governs new tabs only.
Explorer click opens files
Whether clicking a file in the explorer opens it in a new tab, or in the current tab, Obsidian-style.
Editor font size (px)
10–28, default 16. Applies live to every editor.
Editor line width (em)
20–120, default 44 — the measure of the editing column.
Fill column (hard-wrap)
40–120, default 72 — the column Fill paragraph (⌥Q) and auto-fill hard-wrap prose to. See Hard-wrapping paragraphs.
Link previews on hover
Always by default (linkPreview: hover); With ⌘ held (mod; Ctrl off the Mac) or Off (off). What hovering a link shows: link previews.
Footnotes in the margin (sidenotes)
sidenotes: auto (the default — a pane at least 960 px wide with room to the right of the text), on or off. See sidenotes.
The graph's References switch
Off by default (graphReferences): cited works as nodes in the graph, set by the switch on the graph itself.
Live preview of maths and diagrams while editing
On by default (previewPane: on | off): the rendering of the formula or diagram the cursor is in, beside it (the live rendering).
Auto-fill while typing
Off by default. Emacs' auto-fill-mode: typing a space past the fill column breaks the line behind the cursor. Applies live — no restart, no reopening tabs.
PDF paper size (reading-view export)
A4 (default), US Letter, Legal or Tabloid — the paper Export as PDF (reading view) prints onto. The LaTeX PDF takes its page size from the document's own class instead, and is not affected.

Live edit

App-global; see Live edit and the toolbar. Changes apply to open notes at once.

⌘E returns from reading mode to
Source mode (default) or live edit — for a tab that has not been edited yet. A tab that has remembers its own (defaultEditMode).
Reveal syntax for
The construct under the cursor (default) or the whole line (liveReveal: construct | line).
Typeset math in place
On by default (liveRenderMath); off leaves maths as source.
Render diagram and query fences in place
On by default (liveRenderFences): mermaid, the TeX figures, maps, queries, Dataview, Bases and rich directives as engine frames. Off leaves them as code.
Render embeds and media in place
On by default (liveRenderEmbeds): note, PDF, office, canvas and media embeds, @reveal, and HTML blocks with custom elements.
Rendered blocks kept alive (advanced)
4–64, default 16 (liveFrameCap) — how many engine frames one note keeps at once. Each costs memory (roughly 20 MB).

Editor toolbar

Show the toolbar
In live edit (default), in live edit and source mode, or never (editorToolbar: live | always | never). View → Editor Toolbar toggles it and remembers which of the first two it was (editorToolbarPrev).
Selection bubble over selected text
On by default (selectionBubble).
// menu: type // for the Format menu
On by default (slashCommands). Two slashes at the start of a line or after a space open the Format menu at the cursor, in source mode and live edit (the // menu).
Groups, in order
Tick the groups to show and order them with ▲▼; Reset restores the default (editorToolbarGroups, null meaning the default). The mode switch is always shown, last.

Diary

Mode
One note per day or Single log note — the two shapes a diary can take (see Daily notes and the diary).
Log note (log mode)
The note holding the whole diary in log mode; default Diary.md.
Folder (per-day mode)
Where daily notes are created; default Daily.
Date format
The file-name pattern for daily notes; default YYYY-MM-DD.
Template note (optional)
A note whose contents seed each new daily note.

PDF viewer

Chinese, Japanese and Korean fonts (pdfCjkFonts)
A PDF that uses CJK text without embedding its own fonts needs the reader to supply them. The four Noto packs are 139 MB — too much to put in every installer for the minority who need them, and not something to fetch mid-render — so they are downloaded once, on this button, and kept locally from then on. Nothing is fetched from the network while you read. The button becomes Remove once they are installed, which reclaims the disk.

Office documents

LibreOffice engine
The 51 MB engine behind office tabs, downloaded once on this button and verified against checksums pinned in the app. The same offer appears in the tab the first time an office document is opened; the button becomes Remove once installed. There is no settings key — whether the engine is on disk is the switch.

Files

Attachment folder
Where pasted and dropped files land; default Attachments (see Attachments and files).
Templates folder
Where Insert template… (⌘⌥T) looks for templates; default Templates.

TeX fragments

Named preamble text for the figures Clew typesets — the macros, colours and packages your ```latex, ```tex and ```tikz blocks share. Each row is a name and an editor; a figure asks for what it needs by name on its opening line (clew-fragments='math macros, colours'), and the text is inserted into that figure's preamble. There are two lists: Global, kept in clew-settings.json and offered in every vault on this machine, and This vault, kept in the vault's .clew/vault-settings.json and travelling with it. A vault fragment shadows a global one of the same name, and the row says so. Editing a fragment re-typesets the figures that use it. The full account, including where the text lands in each kind of block and what happens to a name nothing defines, is in Diagrams.

This vault

The per-vault settings, stored in .clew/vault-settings.json — eleven switches and fields, plus three lists (plugins, TeX fragments, and the two exclusion lists):

Note history (history)
On by default: before a save displaces an existing note or canvas, the old text is snapshotted into .clew/history/, with sensible rate-limiting and pruning. The switch stores a boolean; finer tuning is a hand-edited object. Clew for iOS reads the same key, so a synced vault keeps or stops history on every device. See Note history.
jmarkdown project (jmarkdownProject)
For vaults that are jmarkdown manuscripts — a book folder, say. Re-enables the engine's own-line [[file.md]] inclusion, so reading mode transcludes chapters exactly the way the jmarkdown command-line build does. The trade-off: a wikilink alone on its own line stops being a plain link while this is on. Open previews re-render as soon as the box is toggled.
Standard Markdown syntax (normalSyntax)
Disables the jmarkdown inline dialect, so *italic* and **bold** behave as they do everywhere else, while keeping math, citations, diagrams, and theorems. Renders and exports both honour it; the editor's dialect highlighting does not adapt yet. See The jmarkdown dialect.
Note API (noteApi)
Gives <script> elements in rendered notes a window.clew API — open notes, search, read and write notes and frontmatter, run commands, share state. Off by default, deliberately: with it on, notes are code. Enable it only for vaults you trust. See The Note API.
Bibliography file (bibliography)
A .bib file — a path from the vault root, or an absolute path — that every note in the vault resolves \cite commands against, with citation resolution switched on. Per-note Bibliography: properties still override it. See Citations and bibliographies.
Bibliography style (bibliographyStyle)
The vault's citation style: a name the engine ships (apa, chicago, harvard1, vancouver, bjps, ajp, econometrica, ergo) or a path to a custom .csl file. Notes override with a Bibliography style: property.
References panel (bibliographyPanel)
Turns on the Refs panel's This note mode: the active note's formatted references, even while the note is in source mode. The panel's Library is there regardless.
New drawings are saved as (excalidrawFormat)
Empty or markdown for Obsidian's .excalidraw.md; json for a plain .excalidraw. Clew reads and indexes both identically — the choice only matters to Obsidian, which can index a drawing solely through the markdown wrapper. See Drawings.
Pandoc citations (pandocCitations)
Reads [@key] and @key as citations alongside the \cite commands — the style Zotero and Better BibTeX export, and what a vault written for pandoc will be full of. Off by default, and worth understanding why: @ is jmarkdown's directive sigil, so with this on a bare @word that is not a registered directive is read as a citation key — an email address or an @mention in prose will change how it renders. See Citations.
Run dataviewjs blocks (dataviewJs)
Off by default. Obsidian's ```dataviewjs blocks are JavaScript rather than queries, so this is per-vault and off until you turn it on for a vault you wrote or trust; plain ```dataview queries always run. See Queries.
TeX fragments (texFragments)
Named preamble text this vault's figures can ask for by name, travelling with the vault — Diagrams → Fragments.
Listed but not indexed (unindexed)
Folders that stay in the explorer and open normally, but are not indexed and not watched: no backlinks, tags, search hits or quick-switcher entries, and no automatic refresh when another program writes to them. One pattern per line — Telling Clew to leave a folder alone.
Hidden entirely (hidden)
Folders treated as though they were not in the vault at all: not listed, not indexed, not watched, not published by a website export. Same patterns.
Plugins (plugins)
Below the switches, every plugin available here is listed with its version, surfaces, and whether it came from this vault's .clew/plugins/ or the global plugin folder (installed once, offered in every vault — there is a button to open it). Each has its own enable checkbox, and the enabled set is stored as an array of plugin ids in this vault: installing may be global, but enabling never is. A plugin is arbitrary code — enable only what you trust. See Vault plugins.
Caution The Note API switch and the plugin checkboxes are trust decisions, not feature toggles. Both are per-vault and off by default, so a vault you downloaded cannot run code in Clew until you explicitly say so — keep it that way for vaults whose contents you have not read.
On iPad Two sections are absent on the iPad — PDF viewer and Office documents — because each exists to download something the iPad app cannot use yet: the CJK font pack has no iPad download, and there is no office engine (see Office documents). Everything else, every per-vault switch included, is the same.

The hotkey editor

The final settings section lists every command Clew has — built-ins, all the formatting commands, and commands registered by enabled plugins — alphabetically, with a filter field at the top. Each row shows the command's current binding (a dash when unbound), a Set button, and a Reset button.

To rebind: filter to the command, press Set, and type the new chord — the row shows Press a shortcut… until you do (Esc cancels). The chord must include a modifier; the first full chord you press becomes the command's binding, replacing its defaults. Custom bindings are marked with an accent-coloured key cap, and Reset — enabled only on customized rows — restores the default. When the same chord is claimed by more than one command, both rows show it in red, and you should re-bind one of them: which command wins an ambiguous chord is not defined.

Overrides are stored (app-globally, keyed by command id) in clew-settings.json, so your keymap follows you across vaults. The command palette always displays current bindings, and the native menus do too: menu accelerators are display-only — Clew's own dispatcher handles every chord — so a rebound command shows its new chord in the menu and the old chord does nothing.

Chord notation

Internally, chords use CodeMirror's notation — Mod-Shift-p, Mod-Alt-ArrowLeft — where Mod is the platform command key: ⌘ on macOS, Ctrl on Windows and Linux. On macOS, Control is a separate modifier of its own (⌃), used for tab cycling because ⌘Tab belongs to the system; away from macOS such chords fold into the Ctrl key, so ⌃Tab reads as Ctrl+Tab everywhere. You never type this notation — the editor records chords from real keystrokes — but it is what appears in the settings file.

Default hotkeys — the complete table

Every default binding in Clew, grouped by area. This is the complete list: any command not shown here ships unbound and is reachable through the command palette, the menus, or a binding of your own. Shortcuts are shown in macOS notation — on Windows and Linux, read ⌘ as Ctrl and ⌥ as Alt.

Files

HotkeyCommand
⌘NCreate new note
⌘SSave note (auto-save runs anyway; this flushes immediately)

Navigation

HotkeyCommand
⌘OOpen quick switcher
⌘POpen command palette
⌘[ (also ⌘⌥←)Navigate back
⌘] (also ⌘⌥→)Navigate forward
⌘GOpen graph view — except on a canvas tab, where ⌘G groups the selected nodes instead (the binding every drawing app uses); the graph stays reachable from the palette and the Go menu
⌘⇧FSearch in all files
⌘⇧DOpen today's diary entry

Tabs and splits

HotkeyCommand
⌘TNew tab
⌘WClose tab
⌃TabNext tab
⌃⇧TabPrevious tab
⌘\Split right
⌘⇧\Split down
⌘⇧WClose current pane

View and panels

HotkeyCommand
⌘EToggle reading mode (returns to the tab's editing mode)
⌘⇧EToggle live edit / source
⌥⇧TFocus the editor toolbar
⌘⌥BToggle left sidebar
⌘⌥⇧BToggle right sidebar
⌃`Toggle the shell panel (and put the caret in it)
⌘,Open settings

Editing

HotkeyCommand
⌘FFind in note
⌘KInsert wikilink (wraps the selection, or opens completion)
⌘B / ⌘⇧BStrong *text* / intense **text** (bold / ** under standard Markdown)
⌘IItalic /text/ (*text* under standard Markdown)
⌘UUnderline __text__
⌘⇧HHighlight ==text==
⌘⇧XStrikethrough ~text~
⌘⇧CInline code
⌘⇧MInline maths $x$
⌘⌥↓ / ⌘⌥↑Subscript _{text} / superscript ^{text}
⌘⌥TInsert template…
⌥QFill paragraph (hard-wrap to the fill column); also Edit → Fill Paragraph (Reflow)
⌥DDelete word forward — the forward twin of the Mac's own ⌥⌫
⌘EnterToggle the task on the cursor's line (elsewhere: CodeMirror's own blank line below)

Native menu shortcuts

Two shortcuts are native menu items rather than commands, so they do not appear in the hotkey editor and cannot be rebound there:

HotkeyMenu item
⌘⇧NFile → New Window
⌘⇧OFile → Open Vault…

Unbound by default

Everything else ships without a chord, waiting in the palette: creating folders and canvases, opening another vault, revealing the note in the file manager, bookmarking, pinning tabs, the diary calendar, the properties panel, the theme commands, all four exports, and the entire Format family — inline styles, headings, lists, alignment, alerts, tables, and block inserts, each a rebindable command — and live edit's own: the three View mode commands, Toggle editor toolbar, indent and outdent, the toolbar's inserts (link, attachment, table, callout, code fence, maths environment, figure, environment), and the Table: commands — insert and delete rows and columns, move them, align a column, edit a cell in place or the table as source. If you use one daily, give it a key.

Tip When a chord does not seem to work, check three things in order: the hotkey editor (is it bound, and shown in red as a conflict?), the context (many commands need a vault, a note, or an editor — the palette hides commands that do not currently apply), and the tab kind (⌘G on a canvas is Group, by design).
Obsidian compatibility Clew's per-vault settings live in .clew/vault-settings.json and its app settings outside the vault altogether — neither touches .obsidian/, so a shared vault carries Obsidian's configuration and Clew's side by side. Hotkey customizations are per-app: rebinding a key in Clew changes nothing in Obsidian, and vice versa.

Reference: where settings live

ScopeFileContents
App-globalclew-settings.json in the per-user application-data directoryTheme, tab-opening modes, editor font size and line width, diary configuration, attachment and templates folders, hotkey overrides, texFragments (the global TeX fragments) — plus recent vaults and the windows to restore at launch
Per-vault<vault>/.clew/vault-settings.jsonhistory, jmarkdownProject, normalSyntax, noteApi, bibliography, bibliographyStyle, bibliographyPanel, pandocCitations, excalidrawFormat, dataviewJs, texFragments (this vault's TeX fragments), unindexed and hidden (the two exclusion lists), plugins (array of enabled plugin ids)

See also