EAF全称为:Emacs Application Framework, 是新一代的 Emacs 图形应用框架, 通过扩展 Emacs 的多媒体能力, 达到 Live in Emacs 的终极目标,而EAF-PDF-Viewer是目前Emacs中性能最好的pdf浏览器!没有之一!!本文将介绍如何在Arch Linux上安装EAF-PDF-Viewer。

克隆EAF

首先打开终端输入以下命令,回车:

1
git clone --depth=1 -b master <https://github.com/emacs-eaf/emacs-application-framework.git> `/emacs-application-framework/

注意网络需要通畅,不然会克隆失败!!!这里的 --depth=1 表示只克隆最近的推送,而 ~/emacs-application-framework/ 可以替换为自己的目录。

安装EAF相关组件

使用以下命令进行下载相关的组件,包括browser,pdf viewer, music player 等等…

1
cd ~/emacs-application-framework/ && ./install-eaf.py --install-all-apps

这里使用 --install-all-apps 下载全部的组件,如果你不需要也可以去掉,程序会自动询问你需要下载哪些组件。

接着使用以下命令安装eaf-pdf-view依赖:

1
2
sudo pacman -R python-pymupdf
sudo pip install pymupdf==1.21.0 --break-system-packages

默认下载的 python-pymupdf 中的 fitz 版本过高和EAF-PDF-Viewer的代码不兼容,所以选择手动安装。 注意,由于下载组件需要克隆,同样请保证网络通畅!!!

在emacs中配置EAF

在完成上面的步骤后,我们需要对Emacs进行配置,拷贝下面的代码到 init.el 中, 然后重启Emacs。

1
2
3
4
5
(use-package eaf
  :load-path "~/emacs-application-framework"
  :config
  (require 'eaf-pdf-viewer)                ; 启用浏览器
  )

使用 M-x 键入 eaf-open 即可选择打开pdf。 假若你使用LaTeX,可以考虑以下添加以下的代码:

1
2
3
(add-to-list 'TeX-command-list '("XeLaTeX" "%`xelatex --synctex=1%(mode)%' %t" TeX-run-TeX nil t))
(add-to-list 'TeX-view-program-list '("eaf" eaf-pdf-synctex-forward-view))
(add-to-list 'TeX-view-program-selection '(output-pdf "eaf"))

本文的缺陷

由于作者Elisp生疏,编程能力有限,事实上eaf-pdf-viewer会有更多的功能,比如光标选择文字,翻译等等,本文只能实现一个功能,那就是能流畅且清晰的在emacs内部显示PDF。 所以如果你想要更多的功能,你可以花时间继续研究EAF,而对于我而言展示PDF已经足够了,如果有其他需要我会使用专门的软件,从而控制在Emacs上花的时间。

example