在org-mode中将文件路径作为字符串获取

时间:2016-05-03 06:03:51

标签: emacs elisp org-mode

我希望能够将emacs org-mode中链接的文件路径作为字符串获取,然后我可以通过各种方式解析并返回org-open-file。因此,例如,链接[[file:/path/to/file.org]][link text]将返回字符串/path/to/file.org。我打赌这是基本的elisp,但我是elisp的新手。

1 个答案:

答案 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或更高版本。)