Wenn ich M-x find-file
ein PDF, wird es in Emacs geöffnet. Obwohl dies nett ist, fehlen Emacs 'PDF-Viewer viele Funktionen, die ich benötige, und ich würde es vorziehen, PDFs stattdessen in einem externen Programm zu öffnen. Wie kann ich Emacs so konfigurieren, dass ein externes Programm als Standardanzeige für PDFs verwendet wird?
42
find-file
. Wenn Sie beispielsweise E-Mails mit angehängten PDF-Dateien senden (über mu4e), wird die angehängte PDF-Datei im externen Editor geöffnet und der Versand schlägt fehl (siehe hier für Details).openwith-mode
, anzuweisen, es zu deaktivieren : siehe folgende Übersicht .Wenn Sie PDF mit vielen Funktionen anzeigen möchten (Suche hervorheben, Auswahl hervorheben, Anmerkungen hinzufügen, Inhaltsbaum), verwenden Sie PDF-Tools . Wie Sie in der Demo sehen können , kann ich Isearch mit Hervorhebung verwenden. Emacs ist jetzt mein Lieblings-PDF-Reader. Sie können bestimmte PDF-Seiten auch mit einem Lesezeichen (+) versehen.
EDIT : Wenn Sie
helm
mögen externes Programm verwenden,helm
hat bereits eine im Aktionsmenü für die externe Datei zu öffnen:Open file externally C-c C-x. C-u to choose again
. Was es bewirkt, ist, dass es eine Liste aller verfügbaren Programme in Ihrem System bietet und Ihnen eine schöne Helm-Oberfläche zur Auswahl bietet. Sobald Sie ausgewählt haben, merkt sich Helm, bis Sie den Befehl mit dem Präfix-Argument ausführenC-u
, um einen neuen auszuwählen.quelle
pdf-tools
!! ERSTAUNLICHES Paket. Liebe es! Ihre Demo ist auch großartig, obwohl sie nur die Oberfläche des Möglichen zerkratzt ... :)pdf-tools
Repo klonen und den C-Teil kompilieren und installieren, wo immer Ihr Emacs die Binärdatei sehen kann, bevor Sie den Emacs-Lisp-Teil installieren und verwenden.Sie fragten nach
find-file
. Zusätzlich zu dem, was andere (z. B. Dan) dazu sagen, lohnt es sich, das Öffnen von Dateien mit einer Anwendung zu kennen, die dem Dateityp (z. B. Erweiterung) in Option zugeordnet istdired-guess-shell-alist-user
. Und wenn Sie Emacs unter MS Windows verwenden, sollten Sie wissen, wie Sie eine Datei mit Windows-Dateizuordnungen öffnen.Die Option
dired-guess-shell-alist-user
ist verfügbar, nachdem Sie die Standardbibliothek geladen habendired-x.el
. Die Standardzuordnung einer PDF-Datei wird in Variable definiertdired-guess-shell-alist-default
und ist Programmxpdf
(verfügbar unter UNIX und GNU / Linux). Mit der Optiondired-guess-shell-alist-user
können Sie zum Beispiel verbinden sie stattdessen mit Adobe Acrobat Reader , indem Sie diese Zuordnung zu dem alist fügt hinzu:("\.pdf$" . "AcroRd32.exe")
.Dann können Sie eine PDF-Datei in Dired öffnen, indem Sie einfach verwenden
!
. Das liefert Standardprogramme als "Vermutungen", auf die Sie durch Wiederholen zugreifen könnenM-n
. So!
gefolgt vonM-n
werden Sie den Shell - Befehl geben ,AcroRd32.exe
wenn der Punkt auf einen Namen PDF - Datei ist und wenn das Kommando / Programm mit regexp zugeordnet\.pdf$
.Zusätzlich zu Dired können Sie die Dateizuordnungen in
dired-guess-shell-alist-user
als Lesezeichen- Dateihandler verwenden, dh, die PDF-Dateizuordnung wird für alle Lesezeichen zu PDF-Dateien wirksam, wenn Sie die Bibliothek Bookmark + verwenden . Der aktuelle Wert vondired-guess-shell-alist-user
wird als Standardwert der Option verwendetbmkp-default-handlers-for-file-types
, die dies steuert.Sie können Optionen
dired-guess-shell-alist-user
undbmkp-default-handlers-for-file-types
als etwas analog zu denkenauto-mode-alist
. Sie ordnen Dateinamenmuster jedoch Dateiaktionen zu, anstatt sie den Puffermodi zuzuordnen. Und sie werden nur wirksam, wenn Sie bestimmte Befehle verwenden.Wenn Sie MS Windows verwenden, können Sie stattdessen (oder auch) vorhandene Windows-Dateizuordnungen nutzen, wenn Sie eine Datei in Dired öffnen oder zu einem Lesezeichen "springen". Hierfür benötigen Sie eine Bibliothek
w32-browser.el
.Für Dired benötigen Sie auch die Bibliothek Dired + - siehe Verwenden von Windows-Dateizuordnungen in Dired . Für Lesezeichen benötigen Sie außerdem Bookmark + - siehe Lesezeichen für Dateien, die Sie nicht mit Emacs besuchen können, und Öffnen von Lesezeichen mit Windows-Dateizuordnungen .
quelle
Ich benutze Läufer . Hier ist ein Auszug meiner Konfigurationsdatei
quelle
Mein Weg, dies ohne Plugins zu erreichen, ist der folgende. Ich verwende Emacs 25.3 unter Ubuntu 16.04 LTS. Wenn Sie ein MacOS- oder Windows-Betriebssystem haben, müssen Sie auf jeden Fall die erste
xdg-open
hier definierte Funktion ändern . Ich fand diesen Link als Ausgangspunkt sehr hilfreich.Wenn Sie nach dem Laden des obigen Codes
C-x C-f
auf PDF- und Word-Datei klicken, wird die Datei automatisch mit der Systemstandard-App geöffnet.Ich mag den von Emacs bereitgestellten Beratungsmechanismus sehr , siehe (elisp) Beratungsfunktionen . Indem ich vorhandene Funktionen auf kompatible Weise berate, vermeide ich das erneute Verknüpfen von allgemeinen Schlüsseln
C-x C-f
mit neuen Funktionen.quelle