Suzuri
Reference

Keybindings & Actions

The actions Suzuri adds, their default bindings, and how to rebind them.

Every Suzuri feature is a named action, reachable from the command palette (Cmd+Shift+P) and bindable like any other.

Suzuri actions

ActionDefault (macOS)What it does
markdown::ToggleLivePreviewToggles live preview in the current markdown buffer.
citations::InsertCitationCmd+Alt+CSearches the vault library and Zotero, and inserts a citation at the cursor.
citations::OpenSourceCmd+Alt+OOpens the PDF behind the cite key under the cursor, in a split.
typeset_preview::OpenLivePreviewPreviews the current file: Typst and LaTeX compile to a PDF in a split; HTML opens in the browser.

typeset_preview::OpenLivePreview also has a Preview button in the toolbar for .typ and .tex files, and an entry in the project panel's context menu.

PDF viewer

These apply while a PDF tab has focus.

ActionDefault (macOS)
pdf_viewer::ZoomInCmd+=
pdf_viewer::ZoomOutCmd+-
pdf_viewer::ResetZoomCmd+0
pdf_viewer::ZoomToActualSizeCmd+1
pdf_viewer::FitToViewCmd+Shift+0
pdf_viewer::CopyDocumentTextCmd+C

On Windows and Linux, substitute Ctrl for Cmd.

Widget keys

Inside a table cell:

KeyEffect
TabCommit and move to the next cell; from the last cell, return to the buffer
EnterCommit and return to the buffer
EscDiscard the edit and return to the buffer

Rebinding

Keymaps live in ~/.config/zed/keymap.json. Open it with zed: open keymap from the command palette.

keymap.json
[
  {
    "context": "Editor && mode == full",
    "bindings": {
      "cmd-e": "markdown::ToggleLivePreview",
      "cmd-shift-b": "typeset_preview::OpenLivePreview"
    }
  },
  {
    "context": "PdfViewer",
    "bindings": {
      "cmd-shift-c": "pdf_viewer::CopyDocumentText"
    }
  }
]

Zed's keymap rules apply unchanged — see Zed's key bindings documentation for contexts, precedence, and the use_key_equivalents option.

Vim and Helix work here

Live preview restyles and conceals text in the real editor rather than replacing the view, so Vim mode, Helix mode, multi-cursor, and search behave normally inside rendered markdown.

On this page