我希望能够将emacs org-mode中链接的文件路径作为字符串获取,然后我可以通过各种方式解析并返回org-open-file
。因此,例如,链接[[file:/path/to/file.org]][link text]
将返回字符串/path/to/file.org
。我打赌这是基本的elisp,但我是elisp的新手。
答案 0 :(得分:0)
您可以从Org element API访问此信息。这里 是一个获取路径并在Dired缓冲区中打开它的示例。
(defun km/org-link-dired-jump ()
"Open Dired for directory of file link at point."
(interactive)
(let ((el (org-element-lineage (org-element-context) '(link) t)))
(unless (and el (equal (org-element-property :type el) "file"))
(user-error "Not on file link"))
(dired-jump 'other-window
(expand-file-name (org-element-property :path el)))))
(这取决于Org版本8.3或更高版本。)