ClipboardPaste
ClipboardPaste 命令读取 ClipboardCopy 写入系统剪贴板的实体,并把它们放置到当前图形中你所选定的点上。由于用的是真正的系统剪贴板,来源可以是另一个图形、另一个浏览器标签页,甚至是当天早些时候的一次会话。
如何粘贴
- 按
Ctrl+V(macOS 上为Cmd+V),或在终端输入ClipboardPaste。 - 浏览器移交剪贴板文本期间,提示显示 reading clipboard…。
- 载入完成后提示变为 pick insertion point,粘贴几何图形的预览会跟随光标。
- 单击放置实体。它们会被添加到图形中并保持选中状态。
预览由复制时的参考点锚定 — 即原选择集合并边界的左下角。该角点位于光标之下,因此被复制实体之间的相对布局得以精确保留。
粘贴时发生了什么
| 步骤 | 行为 |
|---|---|
| 全新标识 | 每个粘贴的实体都会获得新的 id,因此粘贴两次会得到两组彼此独立的实体 |
| 平移 | 实体按 光标 − 参考点 偏移 |
| 图层合并 | 目标图形中缺少的、被引用的图层按名称添加 |
| 线型合并 | 目标图形中缺少的、被引用的线型按名称添加 |
| 选择集 | 清除先前的选择,粘贴的实体成为新的选择集 |
图层与线型的合并
缺少的表项会被添加;已有的保持原样。若剪贴板携带一个红色的 WALLS 图层,而目标图形已有一个蓝色的 WALLS 图层,则以目标图形的定义为准,粘贴的实体加入其中 — 它们会是蓝色。粘贴不会重新定义目标图形中的任何内容。
在图层约定不同的图形之间复制时,这一点很重要:跨图形粘贴后如果颜色与预期不符,请查看 Layer Manager。
剪贴板中没有可粘贴内容时
ClipboardPaste 只接受由 ClipboardCopy 生成的载荷。剪贴板上的其他任何内容 — 纯文本、网址、图片、来自其他应用的 JSON — 都会被拒绝,终端报告:
Clipboard has no copied entities
如果浏览器完全拒绝访问剪贴板,提示则为 Clipboard access denied。两者都会结束命令而不改动图形。
键盘参考
| 按键 | 操作 |
|---|---|
Ctrl+V / Cmd+V | 激活 ClipboardPaste |
Escape | 取消 — 丢弃这些实体,不向图形添加任何内容 |
在读取阶段按下取消是安全的:若剪贴板在你已经取消或已启动其他命令之后才返回结果,这个迟到的结果会被丢弃,而不会打断此时正在进行的操作。
在标签页之间复制
跨图形的典型流程:
- 打开源图形,选择几何图形,按
Ctrl+C。 - 切换到另一个标签页 — 或新开一个应用标签页并载入另一个文件。
- 按
Ctrl+V并单击插入点。
两个标签页同源并共享系统剪贴板,因此不会上传任何内容,也没有服务器参与。整个过程中载荷始终是你自己剪贴板上的 JSON 文本。
支持的实体
凡是 ClipboardCopy 能写出的实体类型,ClipboardPaste 都能读回 — 使用与原生 .json 格式相同的序列化方式。
参见
- ClipboardCopy — 将所选内容写入剪贴板
- Copy — 在当前图形内复制实体
- Layer Manager — 查看粘贴带入的图层