Easy Typing
approvedby yaozhuwa
Auto format when typing.
Obsidian Easy Typing
[中文 | English]
Easy Typing is an enhancement plugin for Obsidian that improves the writing experience through automatic text formatting, smart editing enhancements, and a powerful rule engine for custom text transformations.
⚡ Quick Start
After installing and enabling the plugin, these features work out of the box — no configuration needed:
- Auto-spacing between Chinese and English, Chinese and digits — cleaner typography
- Auto full-width punctuation after CJK characters — no need to switch punctuation mode
- Auto-pairing CJK brackets and quotes — type
(and)is inserted automatically - Type
··(two middle dots) to quickly create inline code — no need to switch to English for backticks - Tab to jump out of paired symbols — press Tab to escape brackets/quotes
- Smart Backspace — clear empty list items and quote lines with one keystroke
💡 All auto-formatting actions can be undone immediately with
Ctrl/Cmd+Z.
Want to customize further? Adjust each feature's behavior in the plugin settings.
Core Features
1. Text Auto-formatting
Automatically formats text as you type:
- Auto-spacing between different script pairs (e.g. Chinese and English, Chinese and digits, etc.)
- Auto-capitalize the first letter of sentences
- Inline element spacing for code, formulas, and links — configurable as none, soft, or strict
- User-defined regex blocks to protect special text patterns from formatting
- Prefix dictionary to suppress premature space insertion while typing
Supports Chinese, Japanese, Korean, English, Russian, digits, and user-defined script categories.
2. Edit Enhancements
Smart editing features that work as you type:
- Better Code Edit: Enhanced editing inside code blocks (Cmd/Ctrl+A selection, Tab indent, delete, paste)
- Better Backspace: Enhanced deletion of empty list items and empty quote lines
- Tabout: Press Tab to jump out of paired symbols (
【】,(),《》, quotes, inline code, etc.) - Enhanced Mod+A: Progressive selection expansion (current line → current block → entire document)
- Smart Paste: Auto-add indentation and list/quote prefixes when pasting inside lists or quotes
- Strict Line Break: Enter creates double line break (Markdown paragraph break)
- Collapsed Heading Enter: Enter on a collapsed heading adds a sibling heading without expanding
3. Rule Engine
A powerful, unified rule engine handles all text transformations with three rule types:
| Type | Trigger | Example |
|---|---|---|
| Input | Triggered when you type a matching pattern | ·· → `$0` (inline code) |
| Delete | Triggered on Backspace | Delete $ → delete entire $...$ pair |
| SelectKey | Triggered when you type after selecting text | Select text + ¥ → $text$ |
The plugin ships with rich built-in rules (auto-pairing, full-width/half-width conversion, symbol shortcuts, etc.) and supports fully custom rules:
- Regex matching with capture group references (
[[1]],[[R1]]) - Regex flags
i/m/ufor case-insensitive, multiline, and Unicode matching - Tabstop placeholders (
$0,$1,${1:default}) with Tab navigation - Scope-aware execution — restrict rules to one or more text, formula, or code contexts
- Code-language filtering — optionally limit code-scope matches to a language like
python - Function replacements — write JavaScript logic in the replacement field
- Priority-based ordering and drag-and-drop reordering
- Tab-triggered or auto-triggered
- Import/Export user rules as JSON
4. Built-in Commands
| Command | Default Hotkey | Description |
|---|---|---|
| Format Article | Mod+Shift+S | Apply auto-formatting to the entire document |
| Format Selection/Line | Mod+Shift+L | Format selected text or current line |
| Delete Blank Lines | Mod+Shift+K | Remove extra blank lines |
| New Line After Current | Mod+Enter | Create new line below and jump to it |
| Insert Code Block | Mod+Shift+N | Convert selection to code block |
| Toggle Auto-format | Ctrl+Tab | Enable/disable auto-formatting |
| Toggle Comment | Mod+/ | Toggle comments (supports code block languages) |
| Select Block | — | Expand selection to current block |
5. Other Settings
- IME fixes: Compatibility options for Chinese IME, macOS context menu, and MS IME
- File exclusion: Exclude specific files from auto-formatting by path pattern
Changelog
For a full changelog, see changelog.md
Acknowledgements
- https://github.com/artisticat1/obsidian-latex-suite
- https://github.com/aptend/typing-transformer-obsidian
- https://marcus.se.net/obsidian-plugin-docs/
Support
If you like this plugin and want to say thanks, you can buy me a coffee here!
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.