Emacs组织模式文件/查看器关联

时间:2010-10-20 00:26:49

标签: emacs org-mode

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

2 个答案:

答案 0 :(得分:16)

在组织模式下,这是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中执行类似的操作来覆盖此alist(例如,对于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-windowsntorg-file-apps-defaults-gnuorg-file-apps-defaults-macosx即可使用与文件扩展名关联的操作系统默认程序。

答案 1 :(得分:2)

这取决于您使用的操作系统,但应该可以使用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