Easy Copy

by Moy
5
4
3
2
1
Score: 56/100

Description

Category: Productivity Tools

The Easy Copy plugin simplifies the process of copying specific types of content within Obsidian by smartly detecting the context around the cursor. It allows users to instantly copy inline code, bold text, highlighted sections, italicized words, block IDs, and heading links without manually selecting text. Users can fine-tune which types of content to target and adjust link formats for copied headings.

Reviews

No reviews yet.

Stats

46
stars
12,705
downloads
6
forks
509
days
8
days
8
days
16
total PRs
2
open PRs
1
closed PRs
13
merged PRs
26
total issues
2
open issues
24
closed issues
74
commits

Latest Version

8 days ago

Changelog

1.8.2 - 2026-09-08

🐛 Fixed

  • Block display text word limit (#42): English text containing hyphens (e.g. "task-management") or apostrophes ("don't") was misdetected as CJK and truncated to the first word. Language detection now checks for CJK characters instead of an ASCII whitelist, so the word limit works for all space-separated languages; pure symbol lines like horizontal rules (---) now fall back to the block ID.

🐛 修复

  • 块显示文本词数上限#42):含连字符(如 "task-management")或撇号("don't")的英文文本会被误判为 CJK,导致别名只截取到第一个词。现在改为检测 CJK 字符来区分语言,词数上限对所有以空格分词的语言生效;水平线(---)等纯符号行直接回退为块 ID。

1.8.1 - 2026-09-07

🐛 Fixed

  • Obsidian plugin review compliance: use Obsidian's element creation helpers, replace the workspace event return-type union with EventRef, remove unnecessary console logging, and update the official review scanner.
  • pnpm lockfile: synchronize the Obsidian 1.13.1 dependency metadata so frozen-lockfile installs succeed.

🐛 修复

  • Obsidian 插件审核规范:使用 Obsidian 元素创建辅助方法,以 EventRef 替换 workspace 事件返回类型联合,移除不必要的控制台日志,并更新官方审核扫描器。
  • pnpm 锁文件:同步 Obsidian 1.13.1 依赖元数据,确保 frozen-lockfile 安装成功。

[1.8.0] - 2026-09-04

⚠️ Breaking Changes

  • Minimum Obsidian version is now 1.13.0: the settings tab is rebuilt on Obsidian 1.13's declarative settings API. Update your Obsidian app before updating the plugin.

✨ New Features

  • Settings reorganized into sub-pages:
    • Copy targets: a "General elements" sub-page (copyable markup targets, callout copy, code block behavior) and a "Block ID" sub-page
    • Copy format: a "Link format" sub-page with new Heading link / Note link groups, and an "Advanced options" sub-page
  • Declarative settings API: migrated to getSettingDefinitions() — dependent settings now show/hide instantly via visibility predicates instead of a full re-render, and every sub-page entry carries its own description

🐛 Fixed

  • Settings description rendering: the info icon in "Resolve link path on paste" no longer renders as [object DocumentFragment]; the tooltip icon is now attached directly to the description element
  • Descriptions punctuation: all setting descriptions now end with a period, matching Obsidian core style

⚠️ 破坏性变更

  • 最低 Obsidian 版本提升至 1.13.0:设置页基于 Obsidian 1.13 的声明式设置 API 重构。更新插件前请先升级 Obsidian。

✨ 新功能

  • 设置页重组为子页面
    • 复制目标:「通用元素」子页面(可复制的标记对象、标注复制、代码块行为)与「块ID」子页面
    • 复制格式:「链接格式」子页面(内含全新的标题链接 / 笔记链接分组)与「进阶选项」子页面
  • 声明式设置 API:迁移到 getSettingDefinitions()——依赖设置项通过可见性谓词即时显示/隐藏,无需整页刷新;每个子页面入口都带有说明

🐛 修复

  • 设置描述渲染:「粘贴时解析链接路径」的 info 图标不再显示为 [object DocumentFragment],tooltip 图标现在直接挂载到描述元素上
  • 描述标点:所有设置描述统一以句号结尾,与 Obsidian 官方风格一致

README file from

Github

Easy Copy - Make Copying Smart and Simple!

English | 中文文档

Obsidian Download Total Downloads GitHub Issues GitHub Last Commit

Easy Copy can smartly copy content based on your cursor position (e.g. code text inside inline code, without formatting symbols).
Besides, it also supports quickly generating and copying links to headings or paragraphs(blocks) in your notes.

✨ Features

  • 🚀 Easy to Use - You only need one command to complete various copy operations
  • 🧙‍♂️ Smart Detection - Automatically identifies and copies different types of content based on cursor position
  • 🔍 Multiple Format Support - Copy inline code, bold text, highlighted text, italic text, block linkss, and heading links
  • 📝 Auto Generate - Automatically generate heading links, or generate a new block ID for the current paragraph and copy the block link
  • 🌐 Multilingual Support - Full support for English, Simplified Chinese, and Traditional Chinese

🤔 Why use this plugin

📝 Copy the text inside Inline Code

I often use inline code for debug commands or keywords and need to quickly copy the content inside the ` symbols. In the past, I had to carefully select the text wrapped inside... which was quite tedious! I want to directly copy the text inside the inline code
So I created this plugin - just place your cursor inside the inline code, and copy with a single keystroke!

Just like this:

demo

It also supports copying bold text, highlighted text, italic text. (If you don't need these features, you can disable them in the settings)

[!IMPORTANT] Due to the limitations of Obsidian plugins, the default does not assign a shortcut key,
you need to assign a shortcut key in Obsidian's keyboard settings for the "Easy Copy: Contextual Copy" command.
I personally recommend using Ctrl+Alt+C.

Even more surprisingly, if you place the cursor on the heading line and press the same "Contextual Copy" shortcut key, you can copy the internal link pointing to the heading!

copy-heading

[!TIP] You can choose between markdown link format ([]()) and wiki link format ([[]]) in the plugin settings.

Not only that, it will use the heading text as the display text, effectively reducing the length of the link.

From [[Note Name#Heading Text]] to [[Note Name#Heading Text|Heading Text]], the text content is longer, but the visual effect is shorter!

The difference looks like this:

heading-compare

If the current text contains an existing block link, the plugin will copy the link pointing to this block, just like it does with the title.

After version 1.2.0, the plugin also supports automatically generating block links for the current text (you need to enable the Auto generate block ID option in the settings):

When there is no content at the cursor position to copy, it will automatically generate a random block ID for the current paragraph and copy the link to the clipboard.
Moreover, the copied link will use the text's summary as the display text, so you won't have to deal with the confusing random characters of the Block ID!

copy-block-id

If you prefer, you can also enable "Manually enter Block ID" in the settings (only letters, numbers, hyphens (-) and underscores (_) are supported).

🪄 How to Use

  1. Basic Usage: Place the cursor at the position you want to copy, and use the Contextual Copy command to copy.
  2. You can also assign a hotkey, and press it to copy with one click. hotkey
  3. The plugin also provides a right-click menu operation menu-item

🔧 Settings

General

  • Add to Menu - Add the command to the right-click menu.
  • Show Notifications - Show a notification when content is copied.
  • Use Title as Display Text - Use the title text as the display text in the link.

Format

  • Link Format - The format used when copying title links (Markdown link or Wiki link).
    • Markdown link: (Display Text)[Link]
    • Wiki link: [[Link|Display Text]]

Block ID

  • Auto-generate Block ID - When enabled, if there is no content at the cursor position to copy, it will automatically generate a random block ID for the current paragraph and copy the link to the clipboard.
  • Manually enter Block ID - When enabled, you can manually enter a new block ID (in this case, the display text will directly use the text you entered)

Copy Target

  • Custom Copy Target - When enabled, you can customize which elements can be copied, allowing you to exclude specific types (such as bold or italic text) to avoid copying them.

🛠️ Installation

The plugin is now available in the community plugins list, you can search for "Easy Copy" to install it.

(Alternatively, you can also use the BRAT plugin to install it)

🤝 Contribution

Issues and feature requests are welcome! If you'd like to contribute to this project, feel free to submit a PR.

This plugin really improved my workflow, and I hope it can help you too! 🌟