Kiedy mam M-x find-file
plik PDF, jest on otwierany w Emacsie. Chociaż jest to miłe, przeglądarka plików PDF Emacsa nie ma wielu potrzebnych funkcji i wolałbym zamiast tego otwierać pliki PDF w zewnętrznym programie. Jak skonfigurować Emacsa do używania zewnętrznego programu jako domyślnej przeglądarki plików PDF?
42
find-file
. Na przykład wysyłanie wiadomości e-mail z załączonymi plikami PDF (przez mu4e) powoduje otwarcie załączonego pliku PDF w zewnętrznym edytorze i wysyłanie kończy się niepowodzeniem ( szczegółowe informacje znajdują się tutaj ).openwith-mode
aby go wyłączyć: zobacz tę treść .Jeśli chcesz przeglądać pliki PDF z wieloma funkcjami (zaznaczanie wyszukiwania, zaznaczanie wyboru, adnotacja, drzewo treści), użyj narzędzi pdf . Jak widać w wersji demo , mogę używać Isearch z podświetlaniem. Emacs jest teraz moim ulubionym czytnikiem plików PDF. Możesz także utworzyć zakładkę do określonej strony PDF, używając Zakładki (+).
EDIT : Jeśli używasz
helm
i chcesz używać programu zewnętrznego,helm
ma już jeden w menu działań na rzecz otwarcia pliku zewnętrznego:Open file externally C-c C-x. C-u to choose again
. Co to robi, że oferuje listę wszystkich dostępnych programów w twoim systemie i prezentuje ci ładny interfejs Helm do wyboru; po wybraniu Helm zapamiętuje je, dopóki nie uruchomisz polecenia z argumentem przedrostka,C-u
aby wybrać nowe.źródło
pdf-tools
!! NIESAMOWITY pakiet. Kocham to! Twoje demo jest również świetne, mimo że rysuje tylko powierzchnię tego, co jest możliwe ... :)pdf-tools
repo, skompilować i zainstalować część C w dowolnym miejscu, w którym Twój Emacs może zobaczyć plik binarny, przed zainstalowaniem i użyciem części Emacs Lisp.Zapytałeś o
find-file
. Oprócz tego, co mówią o tym inni (np. Dan), warto również wiedzieć o otwieraniu plików za pomocą aplikacji powiązanej z typem pliku (np. Rozszerzeniem) w opcjidired-guess-shell-alist-user
. A jeśli używasz Emacsa w MS Windows, warto wiedzieć, jak otworzyć plik za pomocą skojarzeń plików Windows.Opcja
dired-guess-shell-alist-user
jest dostępna po załadowaniu standardowej bibliotekidired-x.el
. Domyślne skojarzenie pliku PDF jest zdefiniowane w zmiennejdired-guess-shell-alist-default
i jest to programxpdf
(dostępny w systemach UNIX i GNU / Linux). Korzystanie z opcjidired-guess-shell-alist-user
można na przykład powiązać go zamiast z Adobe Acrobat Reader, dodając ten związek do alist:("\.pdf$" . "AcroRd32.exe")
.Następnie możesz otworzyć plik PDF w Dired za pomocą
!
. Zapewnia to domyślne programy jako „domysły”, do których można uzyskać dostęp, powtarzającM-n
. Tak więc!
następujeM-n
polecenie powłoki,AcroRd32.exe
jeśli punkt znajduje się na nazwie pliku PDF i jeśli to polecenie / program jest powiązany z wyrażeniem regularnym\.pdf$
.Oprócz Dired możesz używać skojarzeń plików
dired-guess-shell-alist-user
jako modułu obsługi plików zakładek, to znaczy, że skojarzenie plików PDF będzie obowiązywać dla wszystkich zakładek do plików PDF, jeśli używasz biblioteki Bookmark + . Bieżąca wartośćdired-guess-shell-alist-user
jest używana jako domyślna wartość opcjibmkp-default-handlers-for-file-types
, która to kontroluje.Możesz myśleć o opcjach
dired-guess-shell-alist-user
ibmkp-default-handlers-for-file-types
jak nieco analogicznie doauto-mode-alist
. Ale odwzorowują wzorce nazw plików na akcje plików zamiast mapować je na tryby buforowe. I działają tylko wtedy, gdy używasz pewnych poleceń.Jeśli używasz MS Windows, możesz zamiast tego (lub też) skorzystać z istniejących powiązań plików Windows , otwierając plik w Dired lub „przeskakując” do zakładki. Do tego potrzebujesz biblioteki
w32-browser.el
.W przypadku Dired potrzebujesz także biblioteki Dired + - patrz Korzystanie z powiązań plików systemu Windows w Dired . W przypadku zakładek potrzebujesz także Zakładki + - zobacz Zakładki do plików, których nie można odwiedzić za pomocą Emacsa i Otwieranie zakładek za pomocą skojarzeń plików Windows .
źródło
Używam biegacza . Oto fragment mojego pliku konfiguracyjnego
źródło
Mój sposób na osiągnięcie tego bez żadnych wtyczek jest następujący. Używam Emacsa 25.3 pod Ubuntu 16.04 LTS. Jeśli twój system operacyjny to macOS lub Windows, zdecydowanie musisz zmienić pierwszą
xdg-open
zdefiniowaną tutaj funkcję . Uważam ten link za bardzo pomocny jako punkt wyjścia.Po załadowaniu powyższego kodu naciśnięcie przycisku
C-x C-f
PDF i pliku słowego spowoduje automatyczne otwarcie pliku przy użyciu domyślnej aplikacji systemowej.Naprawdę podoba mi się mechanizm porad dostarczony przez Emacsa, patrz (elisp) Funkcje doradcze . Informując istniejącą funkcję w zgodny sposób, unikam ponownego wiązania wspólnych klawiszy, takich jak
C-x C-f
nowa funkcja.źródło