23

在 Emacs 组织模式文件中,当我单击 PDF 时,文件会在 PDF 查看器中打开。同样,当我单击 URL 时,它会在 Web 浏览器中打开。但是,当我单击图像文件的路径时,字节流会在编辑器中以文本形式打开。如何配置 Emacs/org-mode 以使用指定的应用程序(例如图像编辑器或浏览器)打开图像?

4

2 回答 2

18

在 org-mode 中,这是org-file-apps控制单击类似 URL 的文本时要执行的操作。

它默认配置为:

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

正如 org-file-apps help 中所说:auto-mode匹配由 中的任何条目匹配的文件auto-mode-alist,因此所有文件 Emacs 都知道如何处理。将此命令与命令一起使用emacs将在 Emacs 中打开大多数文件。

您可能在自动模式列表中配置了图像文件扩展名。您可以通过在 .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-gnuorg-file-apps-defaults-macosx

于 2010-10-21T08:26:02.897 回答
3

这取决于您使用的操作系统,但应该可以使用org-file-apps.

  • 在 OS X 上,我会使用open(或open -a Application.app) 自动打开文件
  • 在 Linux/BSD 等上,我会使用xdg-open(设置有点棘手)
  • 在 Windows 上,我想我会使用open(在控制台中)

查看变量org-file-apps-defaults-windowsntorg-file-apps-defaults-gnuorg-file-apps-defaults-macosx取决于您的平台。

于 2010-10-21T08:24:47.237 回答