Список всех входящих ссылок на заголовок в режиме организации
Допустим, у меня есть файл в режиме org с заголовками и ссылками на заголовки в нем (ссылки находятся в файле). Есть ли способ перечислить все входящие ссылки на текущий заголовок в буфере, и когда я нажимаю 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", он переходит к ссылке 2, которая находится в буфере. Заголовок 3.
1 ответ:
Вы можете использовать
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
, вы получите список совпадений в виде разреженного дерева в текущем буфере организации.