Org 协议是一款用于从外部应用触发 Emacs 内自定义操作的工具。任何支持以 URL 为参数调用外部程序的应用,均可使用该功能。例如,你可以在网页浏览器中配置书签,将当前页面链接发送至 Org,并通过快速捕获功能创建笔记(见 Capture)。你也可以创建书签,让 Emacs 打开正在浏览的远程网站对应的本地源文件。
要在应用中使用 Org 协议,需要将 ‘org-protocol://’ 注册为合法的协议处理器。外部调用会通过 ‘emacsclient’ 命令传递给 Emacs,因此还需确保 Emacs 服务端正在运行。更具体地说,当应用执行调用:
emacsclient "org-protocol://PROTOCOL?key1=val1&key2=val2"
Emacs 会调用与 PROTOCOL 关联的处理器,并传入参数 ‘(:key1 val1 :key2 val2)’ 。
Org 协议内置三种预定义协议,详情见后续章节。可配置 org-protocol-protocol-alist 定义自定义协议。