Подтвердить что ты не робот

Ассоциации файлов/зрителей Emacs org-mode

В файле org-mode Emacs, когда я нажимаю на PDF, файл открывается в средстве просмотра PDF. Аналогично, когда я нажимаю на URL-адрес, он открывается в веб-браузере. Но когда я нажимаю путь к файлу изображения, поток байтов открывается как текст в редакторе. Как настроить Emacs/org-mode для открытия изображений с помощью указанного приложения, например, редактора изображений или браузера?

4b9b3361

Ответ 1

В org-mode это org-file-apps, который управляет тем, что нужно делать при нажатии на URL-подобный текст.

По умолчанию он настроен на:

((auto-mode . emacs)
 ("\\.mm\\'" . default)
 ("\\.x?html?\\'" . default)
 ("\\.pdf\\'" . default))

Как сказано в справке org-file-apps: auto-mode соответствует файлам, которые сопоставляются с любой записью в auto-mode-alist, поэтому все файлы Emacs знают, как обращаться. Используя это с командой emacs, вы откроете большинство файлов в Emacs.

У вас может быть расширение файла изображения, настроенное в auto-mode-alist. Вы можете переопределить этот alist, сделав что-то подобное в ваших .emacs(например, для png файлов):

(add-hook 'org-mode-hook
      '(lambda ()
             (setq org-file-apps
                   (append '(
                             ("\\.png\\'" . default)
                             ) org-file-apps ))))

С помощью этого кода, когда я нажимаю на ссылку, как это:

file:///e:/jrx/emacs/image.png

Он открывает файл за пределами emacs, используя программу OS по умолчанию, связанную с этим расширением файла.

Вам не нужно изменять org-file-apps-defaults-windowsnt, org-file-apps-defaults-gnu или org-file-apps-defaults-macosx, чтобы использовать программу по умолчанию ОС, связанную с расширением файла.

Ответ 2

Это зависит от того, какую операционную систему вы используете, но ее следует настраивать с помощью org-file-apps.

  • В OS X я бы использовал open (или open -a Application.app) для автоматического открытия файлов
  • В Linux/BSD и т.д. я бы использовал xdg-open (немного сложно настроить, tho)
  • В окнах, я думаю, я бы использовал open (в консоли)

Посмотрите на переменные org-file-apps-defaults-windowsnt, org-file-apps-defaults-gnu или org-file-apps-defaults-macosx в зависимости от вашей формы.