文件链接可以包含附加信息,使 Emacs 在打开链接时跳转到文件内的特定位置。该信息可以是行号,也可以是双冒号后的搜索选项36。例如,当 org-store-link 为某个文件创建链接时(见 Handling Links),会将当前行内容编码为搜索字符串,以便后续使用 C-c C-o 打开链接时找回该行。

注意,所有搜索选项对附件链接和 ID 链接的作用方式与文件链接完全一致。

以下为文件链接附加搜索内容的不同语法及说明:

[[file:~/code/main.c::255]]
[[file:~/xx.org::My Target]]
[[file:~/xx.org::*My Target]]
[[file:~/xx.org::#my-custom-id]]
[[file:~/xx.org::/regexp/]]
[[attachment:main.c::255]]
255

跳转到第 255 行。

My Target

搜索链接目标 ‘<<My Target>>=,或对文本 =my target’ 进行搜索,规则与内部链接类似,见 Internal Links。在 HTML 导出中(见 HTML Export),此类文件链接会变为指向目标文件中对应命名锚点的 HTML 引用。

*My Target

在 Org 文件中,仅在标题范围内搜索。

#my-custom-id

链接到带有 ‘CUSTOM_ID’ 属性的标题。

/正则表达式(REGEXP)/

REGEXP 执行正则表达式搜索(见 Regular Expressions)。该功能使用 Emacs 命令 occur 在独立窗口列出所有匹配项。如果目标文件为 Org 模式,则使用 org-occur 创建包含匹配项的稀疏树。

作为一种特殊用法,文件名为空的文件链接可用于搜索当前文件。例如 ‘[[file:::find me]]’ 会在当前文件中搜索 ‘find me=,效果与 =[[find me]]’ 相同。


Footnotes

(36)

为兼容旧版,行号也可跟在单个冒号后。