Я хочу открыть PDF с evince вместо режима DocView. Есть ли возможность открыть файл с помощью определенной команды, например «evince»?
Да.Используйте ! в то время как в dired, чтобы запустить команду оболочки для файла.
!
В случае evince разумнее использовать &, что приведет к асинхронному запуску команды, поэтому emacsможно использовать, пока у вас открыт PDF.
evince
&
Существует более одного способа сделать это. Я предлагаю OpenWith библиотека. Настройка для вашего случая может выглядеть так:
(add-to-list 'load-path "/path/to/downloaded/openwith.el") (require 'openwith) (setq openwith-associations '(("\\.pdf\\'" "evince" (file)))) (openwith-mode t)
Устанавливает обработчик файлов, который будет работать как с dired, так и с find-file.
dired
find-file
Попробуй это.
(defun dired-open-file () "In dired, open the file named on this line." (interactive) (let* ((file (dired-get-filename nil t))) (message "Opening %s..." file) (call-process "gnome-open" nil 0 nil file) (message "Opening %s done" file)))
Вы можете использовать !, чтобы открыть файл, а затем указать команду.
Обратите внимание, что вы можете поддержать процесс после выхода из Emacs, используя nohup [Wikipedia], поэтому укажите точку для одного файла в dired:
nohup
C-u ! nohup evince ? &
, который создает Постоянные процессы [EmacsWiki].
В винде я использую!и команда "проводник", чтобы открыть PDF / Word / Excel ...