Settings
Every setting Suzuri adds on top of Zed's, with its default.
Suzuri uses Zed's settings format, in its own files:
| Scope | File |
|---|---|
| User | ~/.config/suzuri/settings.json (Windows: %APPDATA%\Suzuri\settings.json) |
| Project | .zed/settings.json in the project root, shared with Zed |
Open the user file with Suzuri → Settings, or zed: open settings from the
command palette. Everything in
Zed's settings reference applies here
too. What follows is what Suzuri adds.
Importing Zed settings
Suzuri and Zed keep separate settings, so changing one never changes the
other. To start from your Zed setup, click Zed under Import Settings on
the welcome page, or run zed: import zed settings from the command palette.
It copies Zed's settings.json, keymap.json, tasks.json, themes, and
snippets into Suzuri's folder. Files it replaces are kept with a
.before-zed-import suffix. Extensions are not copied; install the ones you
want from the extensions page.
Before version 0.6.0, Suzuri shared Zed's folders. The first launch of a newer version copies that state (settings, keymap, themes, open windows, agent threads, extensions) into Suzuri's own folders and leaves Zed's untouched.
API keys and sign-in are not shared either. Suzuri keeps them in the system
keychain under its own names, and importing Zed's settings does not bring Zed's
keys, so enter them once in Suzuri's agent settings. Versions before 0.6.0
kept Suzuri's keys in a plain-text file, ~/.config/zed/development_credentials;
a newer version moves them into the keychain on first launch. That old file is
no longer read, and you can delete it once you no longer need to go back to an
older version.
To keep sharing one settings folder with Zed instead, replace Suzuri's with a link to Zed's while Suzuri is closed:
mv ~/.config/suzuri ~/.config/suzuri.bak
ln -s ~/.config/zed ~/.config/suzurimarkdown_live_preview
Obsidian-style live preview for markdown buffers.
{
"markdown_live_preview": {
"enabled": true,
"heading_styles": {
"h1": { "font_size": 1.75, "font_weight": 600 },
"h2": { "font_size": 1.4, "font_weight": 600 },
"h3": { "font_size": 1.2, "font_weight": 600 },
"h4": { "font_size": 1.0, "font_weight": 600 },
"h5": { "font_size": 0.875, "font_weight": 600 },
"h6": { "font_size": 0.85, "font_weight": 600 }
},
"attachments_folder": "attachments",
"word_count": true
}
}| Key | Default | What it does |
|---|---|---|
enabled | true | Render markdown inline in the editor. |
heading_styles.h1–h6 | see above | Heading typography. font_size multiplies the editor's base font size; font_weight is a CSS value from 100 to 900. |
attachments_folder | "attachments" | Folder for dropped and pasted attachments, relative to the note's folder. "" stores them beside the note. |
word_count | true | Show a word count in the status bar for markdown notes. Frontmatter, code, math, cite keys and the reference list are not counted. |
citations
The vault's bibliography and its Zotero link.
{
"citations": {
"library": "refs/refs.bib",
"zotero_url": "http://127.0.0.1:23119"
}
}| Key | Default | What it does |
|---|---|---|
library | "refs/refs.bib" | The BibLaTeX file every inserted citation is recorded in, relative to the project root. Pandoc, LaTeX, Typst, and Suzuri's own index all read it directly. |
zotero_url | "http://127.0.0.1:23119" | Where Zotero's local API listens. Zotero must be running with Settings → Advanced → "Allow other applications on this computer to communicate with Zotero" ticked. |
markdown_export
How a note becomes a PDF, Word document, HTML page, LaTeX source or EPUB. See Export.
{
"markdown_export": {
"pdf_engine": "typst"
}
}| Key | Default | What it does |
|---|---|---|
pdf_engine | "typst" | The program Pandoc typesets PDFs with. Typst is provisioned by Suzuri, so the default needs no TeX installation. "xelatex", "lualatex", "pdflatex" or "context" use a TeX Live you already have, for a template that pins one. |
The bibliography an export cites from is citations.library, above.
typeset_preview
Which engine compiles .tex files for
live preview. See
Choosing a LaTeX Engine for the full
rundown.
{
"typeset_preview": {
"latex_engine": "auto"
}
}| Value | Meaning |
|---|---|
"auto" | latexmk from PATH, falling back to Suzuri's managed TeX Live. Default. |
"latexmk" | Drive latexmk, which picks the engine the document asks for. |
"pdflatex", "lualatex", "xelatex" | A specific engine. |
{ "external": { "command": "tectonic", "arguments": [] } } | Any other program, run in the document's directory with the file name appended. |
Zed settings worth knowing here
These are Zed's, but Suzuri changes their defaults or leans on them.
{
"autosave": { "after_delay": { "milliseconds": 1000 } },
"auto_update": true
}| Key | Suzuri default | Why |
|---|---|---|
autosave | { "after_delay": { "milliseconds": 1000 } } | Notes are terminal artifacts with no build watchers, and agents read the vault from disk, so the buffer and the file shouldn't diverge. It is also what drives the typeset preview loop. Set "off" to save, and recompile previews, only when you press Cmd+S. |
auto_update | true | Background updates from Suzuri's GitHub releases. See Updating. |