Cuando hago M-x find-file
un PDF, se abre en Emacs. Si bien esto es bueno, el visor de PDF de Emacs carece de muchas características que necesito y preferiría abrir archivos PDF en un programa externo. ¿Cómo puedo configurar Emacs para usar un programa externo como el visor predeterminado para archivos PDF?
42
find-file
. Por ejemplo, el envío de correos electrónicos con archivos PDF adjuntos (a través de mu4e) hace que el PDF adjunto se abra en el editor externo y el envío falla (consulte aquí para más detalles).openwith-mode
para desactivarlo: vea esta idea .Si desea ver PDF con muchas funciones (resaltar búsqueda, resaltar selección, anotar, árbol de contenido), use herramientas pdf . Como puede ver en la demostración , puedo usar Isearch con resaltado. Emacs es ahora mi lector de PDF favorito. También puede marcar una página PDF específica mediante el uso de Marcador (+).
EDITAR : si utiliza
helm
y desea usar un programa externo,helm
ya tiene uno en el menú de acciones para la apertura de un archivo externo:Open file externally C-c C-x. C-u to choose again
. Lo que hace es que ofrece una lista de todos los programas disponibles en su sistema y le presenta una agradable interfaz Helm para seleccionar; una vez que selecciona, Helm lo recuerda hasta que ejecuta el comando con el argumento prefijoC-u
para seleccionar uno nuevo.fuente
pdf-tools
! Paquete increíble. ¡Quiéralo! Su demo también es excelente, aunque solo rasca la superficie de lo que es posible ... :)pdf-tools
repositorio y compilar e instalar la parte C en cualquier lugar donde sus Emacs puedan ver el binario, antes de instalar y usar la parte Emacs Lisp.Usted preguntó
find-file
. Además de lo que otros (por ejemplo, Dan) dicen sobre eso, también vale la pena saber acerca de cómo abrir archivos usando una aplicación asociada con el tipo de archivo (por ejemplo, extensión) en la opcióndired-guess-shell-alist-user
. Y si usa Emacs en MS Windows, entonces vale la pena saber cómo abrir un archivo usando asociaciones de archivos de Windows.La opción
dired-guess-shell-alist-user
está disponible después de cargar la biblioteca estándardired-x.el
. La asociación predeterminada de un archivo PDF se define en variabledired-guess-shell-alist-default
y es un programaxpdf
(disponible en UNIX y GNU / Linux). El uso de la opcióndired-guess-shell-alist-user
se puede, por ejemplo, en lugar asociarlo con Adobe Acrobat Reader mediante la adición de esta asociación a la alista:("\.pdf$" . "AcroRd32.exe")
.Luego puede abrir un archivo PDF en Dired simplemente usando
!
. Eso proporciona programas predeterminados como "conjeturas", a los que puede acceder repitiendoM-n
. Entonces,!
seguido deM-n
le dará el comando de shellAcroRd32.exe
si el punto está en un nombre de archivo PDF y si ese comando / programa está asociado con regexp\.pdf$
.Además de Dired, puede hacer uso de las asociaciones de archivos
dired-guess-shell-alist-user
como un controlador de archivos de marcadores, es decir, hacer que la asociación de archivos PDF tenga efecto para cualquier marcador de archivos PDF, si utiliza la biblioteca Bookmark + . El valor actual dedired-guess-shell-alist-user
se utiliza como el valor predeterminado de la opciónbmkp-default-handlers-for-file-types
, que controla esto.Puedes pensar en las opciones
dired-guess-shell-alist-user
ybmkp-default-handlers-for-file-types
como algo análogoauto-mode-alist
. Pero asignan patrones de nombre de archivo a acciones de archivo en lugar de asignarlos a modos de búfer. Y surten efecto solo cuando usa ciertos comandos.Si usa MS Windows, puede aprovechar (o también) las asociaciones existentes de archivos de Windows cuando abre un archivo en Dired o "salta" a un marcador. Para esto necesitas biblioteca
w32-browser.el
.Para Dired, también necesita la biblioteca Dired + ; consulte Uso de asociaciones de archivos de Windows en Dired . Para los marcadores, también necesita Bookmark + : consulte Archivos de marcadores que no puede visitar con Emacs y Apertura de marcadores mediante asociaciones de archivos de Windows .
fuente
Estoy usando corredor . Aquí hay un extracto de mi archivo de configuración
fuente
Mi manera de lograr esto sin ningún complemento es la siguiente. Ejecuto Emacs 25.3 bajo Ubuntu 16.04 LTS. Si su sistema operativo es macOS o Windows, definitivamente necesita cambiar la primera función
xdg-open
definida aquí. Encontré este enlace muy útil como punto de partida.Después de cargar el código anterior, cuando presiona
C-x C-f
para PDF y archivo de Word, se abrirá automáticamente el archivo utilizando la aplicación predeterminada del sistema.Realmente me gusta el mecanismo de asesoramiento proporcionado por Emacs, consulte (elisp) Funciones de asesoramiento . Al recomendar la función existente de una manera compatible, evito volver a vincular teclas comunes como
C-x C-f
una nueva función.fuente