Word Splitting for Simplified Chinese in Edit Mode and Vim Mode

by AidenLx
5
4
3
2
1
Score: 74/100

Description

Category: Coding & Technical Tools

The Word Splitting for Simplified Chinese in Edit Mode and Vim Mode plugin is a game-changer for Obsidian users who work with Simplified Chinese text. This plugin enhances the built-in CodeMirror Editor by allowing word splitting in both edit mode and Vim mode, making it easier to select and manipulate Chinese characters. With this plugin, you can double-click on a Chinese character to select the entire word, and even use Vim commands to move the cursor between words. The plugin also supports system-built-in word splitting engine, which provides more accurate results than the default Obsidian editor. Overall, this plugin is a must-have for anyone who frequently works with Simplified Chinese text in Obsidian.

Reviews

No reviews yet.

Stats

242
stars
61,296
downloads
14
forks
1,902
days
1
days
36
days
3
total PRs
0
open PRs
0
closed PRs
3
merged PRs
29
total issues
0
open issues
29
closed issues
13
commits

README file from

Github

Simplified Chinese Word Splitting

Adds Simplified Chinese word splitting support for the editor and Vim mode for Obsidian.md

增加 Obsidian 内置编辑器的(简体)中文分词支持,使得编辑模式的双击可以选中中文,以及在 Vim 模式下可以按中文分词移动光标

Special Thanks to @fengkx for jieba-wasm module 感谢 @jiyee 实现的Vim分词支持!

注意:从 v1.8.0 开始,默认分词引擎由结巴分词更换为系统自带分词引擎,结巴分词不再是必备组件,若你需要结合 omnisearch 插件使用,或仍需要使用结巴分词提供的更精确的分词结果,以及新词发现、自定义词库功能,请在设置打开选项后,按照弹窗提示进行安装(若系统不提供分词引擎,无论选项是否打开,本插件仍会提示安装结巴分词)

Demo

Obsidian's Default Word Splitting默认分词 Patched安装插件后
ob-default-splitting ob-patched-splitting

Disclosure 安全声明

[!WARNING] 直接文件系统访问:在桌面端,本插件使用 Node.js fs 模块在 Obsidian Vault API 之外读写文件。这用于将结巴分词 WASM 文件(jieba_rs_wasm_<版本号>.wasm)存储在 Obsidian 的共享 userData 目录中,从而避免在每个库中重复安装:

平台 路径
macOS ~/Library/Application Support/obsidian/jieba_rs_wasm_<版本号>.wasm
Windows %APPDATA%\obsidian\jieba_rs_wasm_<版本号>.wasm
Linux ~/.config/obsidian/jieba_rs_wasm_<版本号>.wasm

在移动端,该文件通过标准 Obsidian Vault API 存储在库的配置目录(<vault>/.obsidian/jieba_rs_wasm_<版本号>.wasm)中,不涉及直接文件系统访问。

[!WARNING] Direct Filesystem Access: On desktop, this plugin uses the Node.js fs module to read and write files outside of the Obsidian vault API. This is used to store the jieba WASM binary (jieba_rs_wasm_<version>.wasm) in Obsidian's shared userData directory so that it does not need to be duplicated in every vault:

Platform Path
macOS ~/Library/Application Support/obsidian/jieba_rs_wasm_<version>.wasm
Windows %APPDATA%\obsidian\jieba_rs_wasm_<version>.wasm
Linux ~/.config/obsidian/jieba_rs_wasm_<version>.wasm

On mobile, the file is stored inside the vault's config directory (<vault>/.obsidian/jieba_rs_wasm_<version>.wasm) using the standard Obsidian vault API, and no direct filesystem access is involved.

Installation 安装

From Obsidian

  1. Open Settings > Third-party plugin
  2. Make sure Safe mode is off
  3. Click Browse community plugins
  4. Search for this plugin Simplified Chinese Word Splitting
  5. Click Install
  6. Once installed, close the community plugins window and the patch is ready to use.

  1. 打开设置>第三方插件
  2. 确保安全模式为关闭
  3. 点击浏览社区插件
  4. 搜索此插件 Word Splitting for Simplified Chinese in Edit Mode and Vim Mode
  5. 点击安装
  6. 安装完成后,关闭安装窗口,插件即可使用

From GitHub

  1. Download the Latest Release from the Releases section of the GitHub Repository
  2. Put files to your vault's plugins folder: <vault>/.obsidian/plugins/cm-chs-patch
  3. Reload Obsidian
  4. If prompted about Safe Mode, you can disable safe mode and enable the plugin. Otherwise head to Settings, third-party plugins, make sure safe mode is off and enable the plugin from there.

Note: The .obsidian folder may be hidden. On macOS you should be able to press Command+Shift+Dot to show the folder in Finder.


  1. 从 GitHub 仓库的 Releases 下载最新版本
  2. 把文件放在对应 Vault 的插件文件夹下:<vault>/.obsidian/plugins/cm-chs-patch
  3. 重新加载 Obsidian
  4. 如果出现有关安全模式的提示,则可以禁用安全模式并启用插件。否则,请转到设置第三方插件,确保关闭安全模式,然后从第三方插件启用插件

注意,.obsidian 文件夹为隐藏文件夹,在 macOS 的 Finder 下可以按 Command+Shift+. 以显示隐藏文件夹

Development

Prerequisites

  • Node.js 26+ — pinned in mise.toml; the easiest way to provision it is mise. If you manage Node yourself, run corepack enable to activate pnpm.
  • pnpm 11.0.9 — sourced from packageManager in package.json via corepack. No global install needed.
  • Git with submodule support (any modern version).

One-time setup

# 1. Clone with the cm-view submodule populated.
#    If you already cloned without `--recurse-submodules`, run the second line instead.
git clone --recurse-submodules https://github.com/aidenlx/cm-chs-patch.git
git submodule update --init --recursive

cd cm-chs-patch

# 2. Provision Node 26 + enable corepack (skip if you manage Node yourself).
mise install

# 3. Install dependencies. The `packages/cm-view` workspace package's `prepare`
#    hook builds its `dist/` (the @codemirror/view internal bundle) automatically.
pnpm install

Scripts

Command Purpose
pnpm dev Vite watch build to build/; also writes .hotreload for the Obsidian Hot-Reload plugin
pnpm build Production bundle to build/main.js; the version from package.json is stamped onto manifest.json
pnpm typecheck tsc --noEmit
pnpm lint oxlint (pnpm lint:fix to autofix)
pnpm format oxfmt check (pnpm format:fix to apply)
pnpm release release-it (maintainers only)

Loading the build into Obsidian

Symlink (or copy) build/ into a test vault as <vault>/.obsidian/plugins/cm-chs-patch, then enable the plugin in Obsidian's Community Plugins settings. With Hot-Reload installed in the same vault, pnpm dev triggers live reloads on rebuild.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.