Quand je suis M-x find-file
un PDF, il est ouvert dans Emacs. Bien que cela soit agréable, le visualiseur de PDF d'Emacs manque de nombreuses fonctionnalités dont j'ai besoin et je préférerais ouvrir les PDF dans un programme externe. Comment puis-je configurer Emacs pour utiliser un programme externe comme visualiseur par défaut pour les PDF?
42
find-file
. Par exemple, l'envoi d'e-mails avec des fichiers PDF joints (via mu4e) entraîne l'ouverture du fichier PDF joint dans l'éditeur externe et l'échec de l'envoi (voir ici pour plus de détails).openwith-mode
de l' éteindre: voir ce point essentiel .Si vous souhaitez afficher un PDF comportant de nombreuses fonctionnalités (sélection de la recherche, sélection de la sélection, annotation, arborescence du contenu), utilisez les outils pdf . Comme vous pouvez le voir dans la démo , je peux utiliser Isearch avec la surbrillance. Emacs est maintenant mon lecteur PDF préféré. Vous pouvez également créer un signet pour une page PDF spécifique en utilisant Signet (+).
EDIT : Si vous utilisez
helm
et que vous voulez utiliser le programme externe,helm
a déjà un dans le menu d'action pour ouvrir un fichier externe:Open file externally C-c C-x. C-u to choose again
. Qu'est-ce que cela fait qu'il offre une liste de tous les programmes disponibles dans votre système et vous présente une belle interface Helm parmi laquelle vous pourrez faire votre choix; Une fois que vous avez sélectionné, Helm s'en souvient jusqu'à ce que vous exécutiez la commande avec l'argument préfixeC-u
pour en sélectionner un nouveau.la source
pdf-tools
!! Forfait incroyable. Aimer! Votre démo est également excellente, même si elle ne faitpdf-tools
référentiel, compiler et installer la partie C partout où votre Emacs peut voir le fichier binaire, avant d'installer et d'utiliser la partie Lisp d'Emacs.Vous avez demandé à propos de
find-file
. En plus de ce que d’autres (par exemple, Dan) en disent, il est utile de savoir également comment ouvrir des fichiers à l’aide d’une application associée au type de fichier (par exemple, une extension) en optiondired-guess-shell-alist-user
. Et si vous utilisez Emacs sur MS Windows, il est utile de savoir comment ouvrir un fichier avec les associations de fichiers Windows.L'option
dired-guess-shell-alist-user
est disponible après le chargement de la bibliothèque standarddired-x.el
. L'association par défaut d'un fichier PDF est définie dans variabledired-guess-shell-alist-default
et il s'agit d'un programmexpdf
(disponible sous UNIX et GNU / Linux). Option à l' aide quedired-guess-shell-alist-user
vous pouvez, par exemple, l' associer à la place avec Adobe Acrobat Reader en ajoutant cette association à l'alist:("\.pdf$" . "AcroRd32.exe")
.Ensuite, vous pouvez ouvrir un fichier PDF dans Dired simplement en utilisant
!
. Cela fournit des programmes par défaut sous forme de "suppositions", auxquelles vous pouvez accéder en répétantM-n
. Donc!
suivi deM-n
vous donnera la commande shellAcroRd32.exe
si point est sur un nom de fichier PDF et si cette commande / programme est associé à regexp\.pdf$
.En plus de Dired, vous pouvez utiliser les associations de fichiers en
dired-guess-shell-alist-user
tant que gestionnaire de fichiers de signets, c'est-à-dire que l'association de fichiers PDF prend effet pour tous les signets en fichiers PDF, si vous utilisez la bibliothèque Bookmark + . La valeur actuelle dedired-guess-shell-alist-user
est utilisée comme valeur par défaut de l'optionbmkp-default-handlers-for-file-types
, qui contrôle cela.Vous pouvez penser aux options
dired-guess-shell-alist-user
etbmkp-default-handlers-for-file-types
quelque peu comme analogueauto-mode-alist
. Mais ils mappent les modèles de nom de fichier sur les actions de fichier au lieu de les mapper sur les modes tampon. Et ils ne prennent effet que lorsque vous utilisez certaines commandes.Si vous utilisez MS Windows, vous pouvez à la place (ou aussi) tirer parti des associations de fichiers Windows existantes lorsque vous ouvrez un fichier dans Dired ou que vous passez à un signet. Pour cela, vous avez besoin d'une bibliothèque
w32-browser.el
.Pour Dired, vous avez également besoin de la bibliothèque Dired + - voir Utilisation des associations de fichiers Windows dans Dired . Pour les signets, vous avez également besoin de Bookmark + - consultez la section Signalisation de fichiers que vous ne pouvez pas visiter avec Emacs et Ouverture de signets à l'aide d'associations de fichiers Windows .
la source
J'utilise runner . Voici un extrait de mon fichier de configuration
la source
Ma façon de réaliser ceci sans aucun plugin est la suivante. Je lance Emacs 25.3 sous Ubuntu 16.04 LTS. Si votre système d'exploitation est macOS ou Windows, vous devez absolument modifier la première fonction
xdg-open
définie ici. J'ai trouvé ce lien très utile comme point de départ.Une fois le code ci-dessus chargé, lorsque vous appuyez sur
C-x C-f
pour les fichiers PDF et Word, le fichier sera automatiquement ouvert à l'aide de l'application par défaut du système.J'aime beaucoup le mécanisme de conseil fourni par Emacs, voir Fonctions de conseil (elisp) . En conseillant la fonction existante de manière compatible, j'évite de relier des clés communes comme
C-x C-f
pour une nouvelle fonction.la source