[中文 | 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.
After installing and enabling the plugin, these features work out of the box — no configuration needed:
( and ) is inserted automatically·· (two middle dots) to quickly create inline code — no need to switch to English for backticks💡 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.
Automatically formats text as you type:
Supports Chinese, Japanese, Korean, English, Russian, digits, and user-defined script categories.
Smart editing features that work as you type:
【】, (), 《》, quotes, inline code, etc.)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:
[[1]], [[R1]])i / m / u for case-insensitive, multiline, and Unicode matching$0, $1, ${1:default}) with Tab navigationpython| 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 |
For a full changelog, see changelog.md
If you like this plugin and want to say thanks, you can buy me a coffee here!