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
Répondre
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.
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. –
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
(ouopen -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.
'F1 v org-file-apps' – jfs
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
@phils essayez 'org-display-inline-images ' –