Emacs org-mode ассоциации файлов и средств просмотра - PullRequest
21 голосов
/ 20 октября 2010

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

Ответы [ 2 ]

16 голосов
/ 21 октября 2010

В режиме org, это 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.Вы можете переопределить этот список, выполнив что-то подобное в вашем .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, используя программу ОС по умолчанию, связанную с этим расширением файла.

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

2 голосов
/ 21 октября 2010

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

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

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

...