2016-05-03 5 views
0

emacs org-modeのリンクのファイルパスを文字列として取得したいと思っています。これをさまざまな方法で解析してorg-open-fileに戻すことができます。したがって、リンク[[file:/path/to/file.org]][link text]は、文字列/path/to/file.orgを返します。私はこれが基本的なelispだと賭けていますが、私はelispには新しいです。org-modeのファイルパスを取得する

答えて

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))))) 

(これは、組織のバージョン8.3またはそれ以上に依存します。)

+0

おかげで、それは便利です。 – mclear

関連する問題