2010-10-20 15 views
20

Dans un fichier Emacs en mode org, lorsque je clique sur un fichier PDF, le fichier s'ouvre dans une visionneuse PDF. De même, lorsque je clique sur une URL, elle s'ouvre dans un navigateur Web. Mais lorsque je clique sur un chemin d'accès à un fichier image, le flux d'octets s'ouvre sous forme de texte dans l'éditeur. Comment configurer Emacs/org-mode pour ouvrir des images avec une application spécifique, par exemple un éditeur d'image ou un navigateur?Emacs associations de fichiers/visionneuses en mode org

+0

'F1 v org-file-apps' – jfs

+0

FYI, Emacs est (en théorie) capable d'afficher les images lui-même. http://www.gnu.org/s/emacs/manual/html_node/elisp/Images.html – phils

+0

@phils essayez 'org-display-inline-images ' –

Répondre

15

En mode org, c'est org-file-apps qui contrôle ce qu'il faut faire en cliquant sur un texte de type URL.

Il est configuré par défaut:

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

Comme indiqué dans l'aide-org fichier-apps: auto-mode désigne les fichiers qui sont abondés par une entrée dans auto-mode-alist, de sorte que tous les fichiers Emacs sait comment gérer. L'utilisation de cette commande avec la commande emacs ouvrira la plupart des fichiers dans Emacs.

Vous pouvez avoir une extension de fichier d'image configurée en mode auto-alist. Vous pouvez remplacer ce alist en faisant quelque chose comme ça dans votre .emacs (par exemple, pour les fichiers .png):

(add-hook 'org-mode-hook 
     '(lambda() 
      (setq org-file-apps 
        (append '(
          ("\\.png\\'" . default) 
          ) org-file-apps)))) 

Avec ce code, lorsque je clique sur un lien comme celui-ci:

file:///e:/jrx/emacs/image.png 

Il ouvre le fichier en dehors d'emacs, en utilisant le programme OS par défaut associé à cette extension de fichier.

Vous ne devez pas modifier org-file-apps-defaults-windowsnt, org-file-apps-defaults-gnu ou org-file-apps-defaults-macosx pour utiliser le programme par défaut du système d'exploitation associé à l'extension de fichier.

+2

En utilisant' append' avec l'organisation 'add-hook' mode-hook' semble s'ajouter à la liste chaque fois que le mode Org est invoqué. Cela peut inonder la liste avec '" \\. Png \\ '". default'. Vous devriez peut-être utiliser une construction 'add-to-list' comme dans http://stackoverflow.com/a/8836108/789593 à la place. –

2

Cela dépend un peu du système d'exploitation que vous utilisez, mais il devrait être configurable avec org-file-apps.

  • Sur OS X, j'utiliser open (ou open -a Application.app) pour ouvrir les fichiers automagiquement
  • Sous Linux/BSD, etc, j'utiliser xdg-open (un peu difficile à installer, tho)
  • Sur les fenêtres, Je suppose que j'utiliser open (dans la console)

Regardez les variables org-file-apps-defaults-windowsnt, org-file-apps-defaults-gnu ou org-file-apps-defaults-macosx en fonction de votre Plattform.