Когда я M-x find-file
PDF, он открывается в Emacs. Хотя это и хорошо, в программе просмотра PDF Emacs отсутствуют многие функции, которые мне нужны, и я бы предпочел открывать PDF-файлы во внешней программе. Как я могу настроить Emacs для использования внешней программы в качестве программы просмотра по умолчанию для PDF-файлов?
42
find-file
. Например, отправка электронных писем с вложенными PDF-файлами (через mu4e) приводит к тому, что вложенный PDF-файл открывается во внешнем редакторе и происходит сбой отправки ( подробности см. Здесь ).openwith-mode
отключить его: посмотрите эту суть .Если вы хотите просматривать PDF со многими функциями (выделение поиска, выделение выделения, аннотирование, дерево содержимого), используйте pdf-инструменты . Как вы можете видеть в демонстрации , я могу использовать Isearch с подсветкой. Emacs теперь мой любимый читатель PDF. Вы также можете добавить в закладки определенную страницу PDF с помощью Закладки (+).
EDIT : Если вы используете
helm
и хотите использовать внешнюю программу,helm
уже есть один в меню действий для открытия внешнего файла:Open file externally C-c C-x. C-u to choose again
. Что он делает, что он предлагает список всех доступных программ в вашей системе и предоставляет вам приятный интерфейс Helm для выбора; после выбора Helm запоминает его, пока вы не запустите команду с аргументом префикса,C-u
чтобы выбрать новый.источник
pdf-tools
!! УДИВИТЕЛЬНЫЙ пакет. Любить это! Ваша демонстрация также великолепна, хотя она только царапает поверхность того, что возможно ... :)pdf-tools
репозиторий, скомпилировать и установить часть C везде, где ваш Emacs может увидеть двоичный файл, перед установкой и использованием части Emacs Lisp.Вы спрашивали о
find-file
. В дополнение к тому, что другие (например, Дэн) говорят об этом, стоит также знать об открытии файлов с помощью приложения, связанного с типом файла (например, расширением) в опцииdired-guess-shell-alist-user
. И если вы используете Emacs в MS Windows, то стоит знать, как открыть файл, используя ассоциации файлов Windows.Опция
dired-guess-shell-alist-user
доступна после загрузки стандартной библиотекиdired-x.el
. Ассоциация PDF-файла по умолчанию определена в переменнойdired-guess-shell-alist-default
и является программнойxpdf
(доступно в UNIX и GNU / Linux). С помощью опцииdired-guess-shell-alist-user
вы можете, например, связать его вместо того, чтобы с помощью Adobe Acrobat Reader, добавив эту ассоциацию с креном:("\.pdf$" . "AcroRd32.exe")
.Затем вы можете открыть файл PDF в Dired просто с помощью
!
. Это обеспечивает программы по умолчанию как «догадки», к которым вы можете получить доступ, повторивM-n
. Таким образом ,!
после чегоM-n
даст вам оболочки команды ,AcroRd32.exe
если точка находится на имя PDF файла и , если эта команда / программа связана с регулярным выражением\.pdf$
.В дополнение к Dired, вы можете использовать ассоциации файлов в
dired-guess-shell-alist-user
качестве обработчика файлов закладок, то есть заставить ассоциацию файлов PDF вступать в силу для любых закладок к файлам PDF, если вы используете библиотеку Bookmark + . Текущее значениеdired-guess-shell-alist-user
используется в качестве значения по умолчанию для параметраbmkp-default-handlers-for-file-types
, который управляет этим.Вы можете думать о вариантах
dired-guess-shell-alist-user
иbmkp-default-handlers-for-file-types
как-то аналогичноauto-mode-alist
. Но они сопоставляют шаблоны имен файлов с действиями файлов, а не отображают их в режимы буфера. И они вступают в силу только тогда, когда вы используете определенные команды.Если вы используете MS Windows, вы можете вместо этого (или также) воспользоваться существующими ассоциациями файлов Windows, когда открываете файл в Dired или «переходите» к закладке. Для этого вам нужна библиотека
w32-browser.el
.Для Dired вам также нужна библиотека Dired + - см. Использование файловых ассоциаций Windows в Dired . Для закладок вам также понадобится Bookmark + - см. Закладка файлов, которые вы не можете посетить с помощью Emacs, и Открытие закладок с помощью файловых ассоциаций Windows .
источник
Я использую бегун . Вот выдержка из моего файла конфигурации
источник
Мой способ добиться этого без каких-либо плагинов заключается в следующем. Я запускаю Emacs 25.3 под Ubuntu 16.04 LTS. Если ваша ОС MacOS или Windows, вам определенно необходимо изменить первую функцию,
xdg-open
определенную здесь. Я нашел эту ссылку очень полезной в качестве отправной точки.После загрузки приведенного выше кода, когда вы нажимаете
C-x C-f
на PDF и файл слова, он автоматически открывает файл с помощью системного приложения по умолчанию.Мне действительно нравится механизм рекомендаций, предоставляемый Emacs, см. (Elisp) Функции консультирования . Совмещая существующие функции совместимым способом, я избегаю повторного связывания общих ключей, например,
C-x C-f
с новой функцией.источник