Keyboard Shortcuts
Shortcut availability depends on active plugins and host-level shortcut conflicts.
Text formatting
Ctrl/Cmd + B: BoldCtrl/Cmd + I: ItalicCtrl/Cmd + U: UnderlineCtrl/Cmd + Shift + X: Strikethrough
Blocks and lists
Ctrl/Cmd + 0: ParagraphCtrl/Cmd + 1..6: HeadingsCtrl/Cmd + Shift + Q: BlockquoteCtrl/Cmd + Shift + C: Code blockCtrl/Cmd + Shift + 8: Bullet listCtrl/Cmd + Shift + 7: Ordered list
Alignment and direction
Ctrl/Cmd + L: Align leftCtrl/Cmd + E: Align centerCtrl/Cmd + R: Align rightCtrl/Cmd + J: Justify
Editing and workflow
Ctrl/Cmd + K: Link dialogCtrl/Cmd + Shift + V: Paste as plain textTab: IndentShift + Tab: Outdent
History
Ctrl/Cmd + Z: UndoCtrl/Cmd + Y: RedoCtrl/Cmd + Shift + Z: Redo
Plugin-specific examples
Mod-Shift-j: Emoji dialogMod-Shift-m: Math dialogMod-p: PrintF7: Spell-check toggle
API Surface
- Plugin keymaps map shortcuts to commands
- Runtime command dispatcher executes mapped actions
Config Matrix
| Scope | Config | Purpose |
|---|---|---|
| Plugin keymap | per-plugin keymap | Adds/remaps shortcuts |
| App-level handling | host app key listeners | Prevent/allow global conflicts |
Validation Checklist
- Shortcuts trigger expected commands in focused editor
- Browser/system shortcut collisions are handled explicitly
- Multi-instance pages apply shortcuts to active editor only