在Emacs组织模式文件中,当我单击PDF时,文件将在PDF查看器中打开。同样,当我点击一个URL时,它会在Web浏览器中打开。但是,当我单击图像文件的路径时,字节流将在编辑器中以文本形式打开。如何配置Emacs / org-mode以使用指定的应用程序(例如图像编辑器或浏览器)打开图像?
答案 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-windowsnt
,org-file-apps-defaults-gnu
或org-file-apps-defaults-macosx
即可使用与文件扩展名关联的操作系统默认程序。
答案 1 :(得分:2)
这取决于您使用的操作系统,但应该可以使用org-file-apps
进行配置。
open
(或open -a Application.app
)自动打开文件xdg-open
(设置有点棘手,等等)open
(在控制台中)根据您的平台查看变量org-file-apps-defaults-windowsnt
,org-file-apps-defaults-gnu
或org-file-apps-defaults-macosx
。