Список всех входящих ссылок на заголовок в режиме org - PullRequest
5 голосов
/ 23 марта 2012

Скажем, у меня есть файл в режиме 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 Ответ

4 голосов
/ 23 марта 2012

Вы можете использовать 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 представит вам список совпадений в виде разреженного дерева в текущем оргком буфере.

...