Bamboo
pendingby Alexis C
Enable proper word selection for Chinese, Japanese, and Korean (CJK) text.
Bamboo
Bamboo splits cleanly at its nodes, so should your words.
Bamboo patches Obsidian's built-in CodeMirror editor to use proper word segmentation for Chinese, Japanese, and Korean (CJK) text.
Comparison
In my experience, Bamboo produces better splits, but Word Splitting is the long-standing plugin for Chinese word splitting. Here's how the two compare:
| Bamboo | Word Splitting | |
|---|---|---|
| Languages | Traditional Chinese, Simplified Chinese, Japanese, Korean | Simplified Chinese |
| Segmentation engine | Intl.Segmenter with regex fallback | Intl.Segmenter (zh-CN only) with optional Jieba runtime |
| Vim mode support | No | Yes |
| Custom word lists | No | Yes (requires Jieba) |
Installation
From the Obsidian Community Plugins browser:
- Open Settings → Community plugins and disable Safe Mode if prompted.
- Click Browse and search for Bamboo.
- Click Install, then Enable.
Manual installation:
- Download
main.jsandmanifest.jsonfrom the latest release. - Copy them into your vault at
.obsidian/plugins/bamboo/. - Reload Obsidian and enable the plugin under Settings → Community plugins.
How It Works
Bamboo uses the browser's built-in Intl.Segmenter API to find natural word boundaries in Chinese, Japanese, and Korean text. When that API is not available, a fallback rule-based segmenter kicks in automatically.
The plugin automatically detects whether the text around your cursor is CJK and steps aside for regular Latin text, so it never changes how you work with English, code, or anything else.
Supported Languages
- Chinese (Traditional & Simplified)
- Japanese (Hiragana, Katakana, Kanji)
- Korean (Hangul)
License
Bamboo is licensed under the MIT license.
This plugin was built entirely with GitHub Copilot, powered by Claude Sonnet 4.6 and GPT-5.3-Codex.
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.