17.19 Drag and Drop & yank-media

Org 模式支持文件拖放(DnD)操作。默认情况下,Org 会询问用户如何处理拖入的文件:附加为附件、插入 ‘file:’ 链接或打开文件。可自定义 org-yank-dnd-method 设置默认拖放行为。

当拖放方式设为 “attach” 时,Org 会首先读取拖放元数据以决定附件处理方式。例如,从文件管理器拖入单个或多个文件时,Org 可通过复制或移动方式附加。

若 Org 无法从元数据判断附件处理方式,会使用 org-yank-dnd-default-attach-method 的设置172

从 Emacs 29 开始,Org 模式支持 yank-media 命令,可粘贴剪切板中的图片、文件管理器中的文件,以及从 LibreOffice Calc 复制的表格。

粘贴剪切板中的图片时,Org 会将图片保存到磁盘,并在 Org 缓冲区中插入图片链接。图片可保存为标题附件(默认)、全局指定目录,或函数返回的目录。保存位置由 org-yank-image-save-method 控制。

粘贴的图片会使用自动生成的名称保存。你可以自定义 org-yank-image-file-name-function ,让 Org 询问图片名称或修改命名规则。

粘贴从文件管理器复制的文件时,Org 遵循 org-yank-dnd-method 的设置。以此方式粘贴的图片文件,在执行 附加(attach) 操作时也遵循 org-yank-image-save-method 的设置。

从 LibreOffice Calc 复制的表格会粘贴为 Org 表格。


Footnotes

(172)

默认情况下 org-yank-dnd-default-attach-method 设为 nil,即与 org-attach-method 使用相同值(默认为 cp )。