Emacs lisp: как добавить ссылку/гиперссылку в другой файл так же, как в * H e l p *

мы можем получить помощь с помощью "C-h..." и emacs показать буфер справки и перейти в другое место со ссылкой. Как я могу сделать что-то подобное с помощью elisp, ссылку на другой буфер или показать что-то еще?

Ответы

Ответ 1

Встроенный пакет Button обеспечивает удобный способ. Например,

(require 'button)
(insert-button "foo" 'action (lambda (x) (find-file user-init-file)))

вставляет кнопку/ссылку с надписью "foo", которая при активации (нажатием Enter, когда точка над этикеткой или средним нажатием) выведет файл инициализации.

Вот еще один пример, который имитирует ссылку www,

(insert-button "fsf"
               'action (lambda (x) (browse-url (button-get x 'url)))
               'url "http://www.fsf.org")

См. справочное руководство Elisp 38.17 кнопки.

Ответ 2

Вы просматриваете "текст с текстом"

Подробнее читайте this.

Или this, если вы собираетесь использовать org-mode.