DoomEmacs和EAF安装小白记录

* EAF-pdf-viewer

由于使用Emacs主要是为了org mode管理日常 和org roam来记录笔记。阅读文献和电子书是必不可少的。目前Emacs内置的DocView需要把PDF转换为图片格式,运行非常缓慢。另外主流的就是PDF tools,这个package已经内置在Doom emacs中。可以直接通过init.el配置安装。功能还可以,但是运行的时候,发现还是有点卡顿。在知乎上看到一个大侠Jousimies(好像也在本站,不知道是否同一人,写了很多关于Emacs工作流的文章,是一个很热心的大侠),介绍了eaf-pdf-viewer,他非常推荐这个pdf浏览器。结果我在度娘和谷哥上一搜索,发现几乎没有什么关于这个浏览器的教程,仅在油管上发现了作者的一段介绍视频。尝试安装了几次,遇到一些问题。最后终于能够运行,打开pdf文件确实非常快。

** 安装

eaf-pdf-viewer安装分成2部分。第一部分要先安装EAF框架,然后安装pdf-viewer。在EAF框架下,有很多有意思的应用,有兴趣的可以去看看。由于框架和应用是分开的,如果安装时候仅注意应用的说明,会有问题。一些应用的注意事项实际在EAF框架的Github的faq里面。

  1. EAF 框架安装

关于EAF的框架安装,建议看一下Github上的说明。有中文格式,虽然简略,至少没有语言障碍。 emacs-application-framework/README.zh-CN.md at master · emacs-eaf/emacs-application-framework · GitHub 安装方法做的非常贴心,基本照着说明,clone下来后,运行install-eaf.py, 就会自动安装EAF框架需要的包插件什么的,非常方便。在安装的时候,你就可以选择EAF下面的应用。

不方便的地方是:各个应用的使用方法介绍非常简略。因为我用的是Doom Emacs, 和普通的emacs在安装包的时候,略有不同。所以一开始很是困惑,不知道应该如何配置。安装成功后又发现默认的快捷键不能使用,最后在EAF的faq里面发现,如果使用evil模式的话,需要特殊配置一下。

(add-to-list 'load-path "~/.emacs.d/site-lisp/emacs-application-framework/")

(require 'eaf)

 (require 'eaf-markdown-previewer)
 (require 'eaf-rss-reader)
 (require 'eaf-pdf-viewer)
 (require 'eaf-image-viewer)
 (require 'eaf-browser)
 (require 'eaf-org-previewer)
 (require 'eaf-mindmap)
 (require 'eaf-org)
 (defun eaf-org-open-file (file &optional link)
  "An wrapper function on `eaf-open'."
  (eaf-open file))
;;请使用 M-x eaf-org-export-to-pdf-and-open
;; use `emacs-application-framework' to open PDF file: link
 (add-to-list 'org-file-apps '("\\.pdf\\'" . eaf-org-open-file))


 (require 'eaf-evil)
;; eaf会把C-SPC当成evil的leader-key,在你加载'eaf-evil之后使用eaf时就需要在eaf中键入C-SPC使用evil leader下的键。
;; 我们只需要将这个键设置为 SPC或你自己的evil-leader-key即可
 (setq eaf-evil-leader-key "SPC")
;; (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"))
  • 本来doom emacs中的配置都会在(use-package!)下面整齐排列,但是经过我反复尝试,发现只有这样放在我的config.el中,才能正常使用eaf。而且在安装时候必须要把eaf-evil这一项,放在所有的eaf应用后面,否则会出现找不到配置文件的错误。

  • 如果哪位大虾能够帮忙告知一下在doom emacs下如何优雅的配置eaf框架,帮忙告知一下,不胜感激。

  • 另外我这样安装后,如果用emacs(gui)运行,则正常。如果是用emacs --daemon然后用emacs client运行的话,就会出现下述报错,但是目前并不影响运行。原因不明。

dbus-call-method: D-Bus error: "org.freedesktop.DBus.Error.UnknownMethod", "Object does not exist at path “/org/eaf/wayland”"
1 个赞