如何配置组织模式以遵守外部链接的系统特定的默认应用程序?


14

在组织模式下,我可以定义外部链接,例如

[[file+sys:path/to/document.pdf]]

然后,使用外部pdf查看器打开文件document.pdf。所述org-模式文档的权利要求是,该命令“打开[S]经由OS,如双击”。

但是,“双击”有所不同,因为我发现在我的设置中未使用系统特定的默认应用程序(用于文档,网站,视频等)。在Ubuntu 12.04上,默认的网页应用程序设置为Firefox,并且仅通过org-mode本地.html文件仍使用Chromium开放。

如何配置组织模式以遵守我的默认应用程序设置?

Answers:


7

这是我的设置:

(setq org-file-apps
      '((auto-mode . emacs)
        ("\\.x?html?\\'" . "firefox %s")
        ("\\.pdf\\'" . "evince \"%s\"")
        ("\\.pdf::\\([0-9]+\\)\\'" . "evince \"%s\" -p %1")
        ("\\.pdf.xoj" . "xournal %s")))

2
很有帮助,尽管该问题询问如何org-mode尊重系统默认值。此版本需要我们手动设置默认值。

是的,但是系统默认值具有广泛的含义。例如,我在Ubuntu上,但必须使用~/.mailcapEmacs vlc来代替Ubuntu的系统默认工具。
abo-abo 2014年

4

如果您使用的是Linux桌面环境,则很可能是使用xdg-utils。请参阅此博客文章

因此,您可以这样做:

(setq org-file-apps
      '((auto-mode . emacs)
        ("\\.x?html?\\'" . "xdg-open %s")
        ("\\.pdf\\'" . "xdg-ope, \"%s\"")
        ("\\.pdf::\\([0-9]+\\)\\'" . "xdg-open \"%s\" -p %1")
        ("\\.pdf.xoj" . "xournal %s")))

0

在更高版本的org-mode中定义了几个实用程序vars:

org-file-apps-defaults-gnu
org-file-apps-default-macosx
org-file-apps-default-windowsnt

应该为这些环境设置合理的默认值。

像这样使用它们:

(setq org-file-apps org-file-apps-defaults-macosx)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.