Skip to content

Features

VMark is a feature-rich Markdown editor designed for modern writing workflows. Here's what's included.

Editor Modes

Rich Text Mode (WYSIWYG)

The default editing mode provides a true "what you see is what you get" experience:

  • Live formatting preview as you type
  • Inline syntax reveal on cursor hover
  • Intuitive toolbar and context menus
  • Seamless markdown syntax input

Source Mode

Switch to raw Markdown editing with full syntax highlighting:

  • CodeMirror 6 powered editor
  • Full syntax highlighting
  • Familiar text editor experience
  • Perfect for advanced users

Toggle between modes with F6.

Source Peek

Edit the raw Markdown of a single block without leaving WYSIWYG mode. Press F5 to open Source Peek for the block at cursor.

Layout:

  • Header bar with block type label and action buttons
  • CodeMirror editor showing the block's Markdown source
  • Original block shown as dimmed preview (when live preview is ON)

Controls:

ActionShortcut
Save changesCmd/Ctrl + Enter
Cancel (revert)Escape
Toggle live previewClick eye icon

Live Preview:

  • OFF (default): Edit freely, changes applied only on save
  • ON: Changes applied immediately as you type, preview shown below

Excluded blocks: Some blocks have their own editing mechanisms and skip Source Peek:

  • Code blocks (including Mermaid, LaTeX) — use double-click to edit
  • Block images — use image popup
  • Frontmatter, HTML blocks, horizontal rules

Source Peek is useful for precise Markdown editing (fixing table syntax, adjusting list indentation) while staying in the visual editor.

Multi-Cursor Editing

Edit multiple locations simultaneously — VMark supports full multi-cursor in both WYSIWYG and Source modes.

ActionShortcut
Add cursor at next matchMod + D
Skip match, jump to nextMod + Shift + D
Select all occurrencesMod + Shift + L
Add cursor above/belowMod + Alt + Up/Down
Add cursor at clickAlt + Click
Undo last cursorAlt + Mod + Z
Collapse to single cursorEscape

All standard editing (typing, deletion, clipboard, navigation) works at every cursor independently. Block-scoped by default to prevent unintended edits across sections.

Learn more →

Auto-Pair & Tab Escape

When you type an opening bracket, quote, or backtick, VMark auto-inserts the closing pair. Press Tab to jump past the closing character instead of reaching for the arrow key.

  • Brackets: () [] {}
  • Quotes: "" '' ` `
  • CJK: 「」 『』 () 【】 《》 〈〉
  • Curly quotes: "" ''
  • Formatting marks in WYSIWYG: bold, italic, code, strike, links

Backspace deletes both characters when the pair is empty. Auto-pair and Tab bracket jump are both disabled inside code blocks and inline code — brackets in code stay literal. Configurable in Settings → Editor.

Learn more →

Text Formatting

Basic Styles

  • Bold, Italic, Underline, Strikethrough
  • Inline code, ==Highlight==
  • Subscript and Superscript
  • Links, Wiki Links, and Bookmark Links with preview popups
  • Footnotes with inline editing
  • HTML comment toggle (Mod + /)
  • Clear formatting command

Text Transformations

Quickly change text case via Format → Transform:

TransformShortcut
UPPERCASECtrl + Shift + U (macOS) / Alt + Shift + U (Win/Linux)
lowercaseCtrl + Shift + L (macOS) / Alt + Shift + L (Win/Linux)
Title CaseCtrl + Shift + T (macOS) / Alt + Shift + T (Win/Linux)
Toggle Case

Block Elements

  • Headings 1-6 with easy shortcuts (increase/decrease level with Mod + Alt + ]/[)
  • Blockquotes (nested supported)
  • Code blocks with syntax highlighting
  • Ordered, unordered, and task lists
  • Horizontal rules
  • Tables with full editing support

Hard Line Breaks

Press Shift + Enter to insert a hard line break within a paragraph. VMark uses two-space style by default for maximum compatibility. Configure in Settings > Editor > Whitespace.

Line Operations

Powerful line manipulation via Edit → Lines:

ActionShortcut
Move Line UpAlt + Up
Move Line DownAlt + Down
Duplicate LineShift + Alt + Down
Delete LineMod + Shift + K
Join LinesMod + J
Remove Blank Lines
Sort Lines AscendingF4
Sort Lines DescendingShift + F4

Tables

Full-featured table editing:

  • Insert tables via menu or shortcut
  • Add/delete rows and columns
  • Cell alignment (left, center, right)
  • Resize columns by dragging
  • Context toolbar for quick actions
  • Keyboard navigation (Tab, arrows, Enter)

Images

Comprehensive image support:

  • Insert via file dialog
  • Drag & drop from file system
  • Paste from clipboard
  • Auto-copy to project assets folder
  • Resize via context menu
  • Double-click to edit source path, alt text, and dimensions
  • Toggle between inline and block display

Video & Audio

Full media support with HTML5 tags:

  • Insert video and audio via toolbar file picker
  • Drag & drop media files into the editor
  • Auto-copy to project .assets/ folder
  • Click to edit source path, title, and poster (video)
  • YouTube embed support with privacy-enhanced iframes
  • Image syntax fallback: ![](file.mp4) auto-promotes to video
  • Source mode decoration with type-specific colored borders
  • Learn more →

Special Content

Info Boxes

GitHub-flavored markdown alerts:

  • NOTE - General information
  • TIP - Helpful suggestions
  • IMPORTANT - Key information
  • WARNING - Potential issues
  • CAUTION - Dangerous actions

Collapsible Sections

Create expandable content blocks using the <details> HTML element.

Mathematical Equations

KaTeX-powered LaTeX rendering:

  • Inline math: $E = mc^2$
  • Display math: $$...$$ blocks
  • Full LaTeX syntax support
  • Helpful error messages with syntax hints

Diagrams

Mermaid diagram support with live preview:

  • Flowcharts, sequence diagrams, Gantt charts
  • Class diagrams, state diagrams, ER diagrams
  • Live preview panel in Source mode (drag, resize, zoom)
  • Learn more →

SVG Graphics

Render raw SVG inline via ```svg code blocks:

  • Instant rendering with pan, zoom, and PNG export
  • Live preview in both WYSIWYG and Source modes
  • Ideal for AI-generated charts and custom illustrations
  • Learn more →

AI Genies

Built-in AI writing assistance powered by your choice of provider:

  • 13 genies across four categories — editing, creative, structure, and tools
  • Spotlight-style picker with search and freeform prompts (Mod + Y)
  • Inline suggestion rendering — accept or reject with keyboard shortcuts
  • Supports CLI providers (Claude, Codex, Gemini, Ollama) and REST APIs

Learn more → | Configure providers →

Search & Replace

Open the find bar with Mod + F. It appears inline at the top of the editor area and works in both WYSIWYG and Source modes.

Navigation:

ActionShortcut
Find next matchEnter or Mod + G
Find previous matchShift + Enter or Mod + Shift + G
Use selection for findMod + E
Close find barEscape

Search options — toggle via buttons in the find bar:

  • Case sensitive — match exact letter casing
  • Whole word — only match complete words, not substrings
  • Regular expression — use regex patterns (enable in Settings first)

Replace:

Click the expand chevron on the find bar to reveal the replace row. Type replacement text, then use Replace (single match) or Replace All (every match at once). The match counter displays the current position and total (e.g., "3 of 12") so you always know where you are.

Export Options

VMark offers flexible export options for sharing your documents.

HTML Export

Export to standalone HTML with two packaging modes:

  • Folder mode (default): Creates Document/index.html with assets in a subfolder
  • Single file mode: Creates a self-contained .html file with embedded images

Exported HTML includes the VMark Reader — interactive controls for settings, table of contents, image lightbox, and more.

Learn more about export →

PDF Export

Print to PDF with native system dialog (Cmd/Ctrl + P).

Copy as HTML

Copy formatted content for pasting into other apps (Cmd/Ctrl + Shift + C).

Copy Format

By default, copying from WYSIWYG puts plain text (without formatting) in the clipboard. Enable Markdown copy format in Settings > Markdown > Paste & Input to put Markdown syntax in text/plain instead — headings keep their #, links keep their URLs, etc. Useful when pasting into terminals, code editors, or chat apps.

CJK Formatting

Built-in Chinese/Japanese/Korean text formatting:

  • 20+ configurable formatting rules
  • CJK-English spacing
  • Fullwidth character conversion
  • Punctuation normalization
  • Smart quote pairing with apostrophe/prime detection
  • Technical construct protection (URLs, versions, times, decimals)
  • Contextual quote conversion (curly for CJK, straight for Latin)
  • Toggle quote style at cursor (Shift + Mod + ')
  • Learn more →

Document History

  • Auto-save with configurable interval
  • View and restore previous versions
  • JSONL storage format
  • Per-document history

View & Focus

Focus Mode (F8)

Focus Mode dims all blocks except the one you are currently editing, reducing visual noise so you can concentrate on a single paragraph. The active block is highlighted at full opacity while surrounding content fades to a muted color. Toggle it with F8 — it works in both WYSIWYG and Source modes and persists until you toggle it off.

Typewriter Mode (F9)

Typewriter Mode keeps the active line vertically centered in the viewport, so your eyes stay in a fixed position while the document scrolls beneath you — just like typing on a physical typewriter. Toggle it with F9. It works in both editing modes and uses smooth scrolling with a small threshold to avoid jittery adjustments on minor cursor moves.

Combining Focus + Typewriter

Focus Mode and Typewriter Mode can be enabled simultaneously. Together they provide a fully distraction-free writing environment: surrounding blocks are dimmed and the current line stays centered on screen.

Word Wrap (Alt + Z)

Toggle soft line wrapping with Alt + Z. When enabled, long lines wrap at the editor width instead of scrolling horizontally. The setting persists across sessions.

Text Utilities

VMark includes utilities for text cleanup and formatting, available in the Format menu:

Text Cleanup (Format → Text Cleanup)

  • Remove Trailing Spaces: Strip whitespace from line endings
  • Collapse Blank Lines: Reduce multiple blank lines to single

CJK Formatting (Format → CJK)

Built-in Chinese/Japanese/Korean text formatting tools. Learn more →

Image Cleanup (File → Clean Up Unused Images)

Find and remove orphaned images from your assets folder.

Integrated Terminal

Built-in terminal panel with multiple sessions, copy/paste, search, clickable file paths and URLs, context menu, theme sync, and configurable font settings. Toggle with Ctrl + `. Learn more →

Auto-Update

VMark automatically checks for updates and can download and install them in-app:

  • Automatic update checking on launch
  • One-click update installation
  • Release notes preview before updating

Workspace Support

  • Open folders as workspaces
  • File tree navigation in sidebar
  • Quick file switching
  • Recent files tracking
  • Window size and position remembered across sessions

Learn more →

Customization

Themes

Five built-in color themes:

  • White (clean, minimal)
  • Paper (warm off-white)
  • Mint (soft green tint)
  • Sepia (vintage look)
  • Night (dark mode)

Fonts

Configure separate fonts for:

  • Latin text
  • CJK (Chinese/Japanese/Korean) text
  • Monospace (code)

Layout

Adjust:

  • Font size
  • Line height
  • Block spacing (gap between paragraphs and blocks)
  • CJK letter spacing (subtle spacing for CJK readability)
  • Editor width
  • Block element font size (lists, blockquotes, tables, alerts)
  • Heading alignment (left or center)
  • Image & table alignment (left or center)

Keyboard Shortcuts

All shortcuts are customizable in Settings → Shortcuts.

Technical Details

VMark is built with modern technology:

ComponentTechnology
Desktop FrameworkTauri v2 (Rust)
FrontendReact 19, TypeScript
State ManagementZustand v5
Rich Text EditorTiptap (ProseMirror)
Source EditorCodeMirror 6
StylingTailwind CSS v4

All processing happens locally on your machine - no cloud services, no accounts required.