列出org-mode中标头的所有入站链接

时间:2012-03-23 17:53:22

标签: emacs org-mode

假设我有一个org-mode文件,其中包含标题和链接到其中的标题(链接在文件中)。有没有办法列出缓冲区中当前标题的所有入站链接,当我按Enter键或单击一个项目时,它会跳转到该链接?

示例:

* Header 1
  Contents of header 1.
* Header 2
  [[Header 1][Link 1]]
* Header 3
  [[Header 1][Link 2]]

当我在标题1中时,我想要一个缓冲区中显示的文件中所有链接列表到标题1(即“链接1”和“链接2”);当我点击或按“Enter 2”行上的Enter键时,它会跳转到Link 2中的Link 2。

1 个答案:

答案 0 :(得分:4)

您可以使用occur通过搜索[[Header Name][来查找链接,并在occur-mode缓冲区中显示匹配的行。这是一个自动执行此操作的函数(使用org-heading-components获取当前标题名称):

(defun my/get-links-to-current-heading ()
  (interactive)
  (let ((title (nth 4 (org-heading-components))))
    (occur (concat "\\[\\[" title "\\]\\["))))

使用org-occur代替occur会将匹配列表显示为当前组织缓冲区中的稀疏树。