ohyoungpark229 downloadsProvides Emacs-style text operations like Kill/Yank (Kill Ring), multi-cursor editing, and visual mark selection.
In Korean, 'Sonkil' means a helping hand with care or a delicate touch. This plugin aims to be a gentle assistant that respects your notes and provides help just where needed.
Important Note: Default hotkeys have been removed based on Obsidian's plugin guidelines to avoid potential conflicts with existing user configurations and ensure cross-OS compatibility. You can manually configure the hotkeys for Sonkil commands in Obsidian's settings (Settings > Hotkeys).
Here are the suggested key combinations based on the original defaults:
| Suggested Keystrokes | Command Name | Description |
|---|---|---|
Ctrl+Shift+ArrowDown |
Sonkil: Add cursor down |
Add a cursor on the line below |
Ctrl+Shift+ArrowUp |
Sonkil: Add cursor up |
Add a cursor on the line above |
Ctrl+g |
Sonkil: Cancel mark and exit yank mode |
Cancel current operation (mark, yank mode, multi-cursor) |
Alt+w |
Sonkil: Copy region |
Copy text between mark and cursor (Copy Region) |
Ctrl+k |
Sonkil: Kill line |
Cut text from cursor position to end of line (Kill Line) |
Ctrl+w |
Sonkil: Kill region |
Cut text between mark and cursor (Kill Region) |
Ctrl+l |
Sonkil: Recenter editor view |
Recenter editor view (cycles through Center/Top/Bottom) |
Ctrl+Space |
Sonkil: Set mark |
Set mark at current cursor position |
Ctrl+y |
Sonkil: Yank |
Paste most recent text from kill ring (Yank, imports from system clipboard if kill ring is empty) |
Alt+y |
Sonkil: Yank pop |
Cycle through previously cut text after yank (Yank Pop) |
Method 1: Community Plugins (Recommended)
Method 2: Manual Installation
Alternatively, you can install manually:
main.js, manifest.json, and styles.css (if present) files for the desired version.obsidian-sonkil inside your Obsidian Vault's plugins folder (YourVault/.obsidian/plugins/). (You can find the Vault path in Obsidian's Settings > About tab.)obsidian-sonkil folder.Since default hotkeys are not provided due to Obsidian's plugin guidelines, you need to set them manually:
Sonkil: to filter the commands provided by this plugin.Sonkil: Set mark).+ icon next to the command name.Ctrl+Space). You can use the combinations suggested in the table above or choose your own.git clone https://github.com/ohyoungpark/obsidian-sonkil
cd obsidian-sonkil
nvm use
npm install
# Create .env file
echo "OBSIDIAN_PLUGIN_DIR=/path/to/your/obsidian/plugins/obsidian-sonkil" > .env
# Modify OBSIDIAN_PLUGIN_DIR in .env file to match your Obsidian plugin directory path
# Build
npm run build
# Run tests
npm test
# Install in development mode (to local Obsidian vault)
npm run install-dev
Note:
.envfile is added to.gitignoreto prevent committing sensitive information- After installing in development mode, you need to restart Obsidian or reload the plugin for changes to take effect
This project is released into the public domain using The Unlicense. See the LICENSE file for details.