Easy Typing

approved

by yaozhuwa

Auto format when typing.

700 stars284,661 downloadsUpdated 5d agoMIT
View on GitHub

Obsidian Easy Typing

Obsidian Downloads latest download

[中文 | 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.

Detailed documentation →

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

Detailed documentation →

3. Rule Engine

A powerful, unified rule engine handles all text transformations with three rule types:

TypeTriggerExample
InputTriggered when you type a matching pattern··`$0` (inline code)
DeleteTriggered on BackspaceDelete $ → delete entire $...$ pair
SelectKeyTriggered when you type after selecting textSelect 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 / u for 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

Detailed documentation →

4. Built-in Commands

CommandDefault HotkeyDescription
Format ArticleMod+Shift+SApply auto-formatting to the entire document
Format Selection/LineMod+Shift+LFormat selected text or current line
Delete Blank LinesMod+Shift+KRemove extra blank lines
New Line After CurrentMod+EnterCreate new line below and jump to it
Insert Code BlockMod+Shift+NConvert selection to code block
Toggle Auto-formatCtrl+TabEnable/disable auto-formatting
Toggle CommentMod+/Toggle comments (supports code block languages)
Select BlockExpand 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

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.