【问题】在不使用EAF的情况下,怎样加速Emacs阅读pdf的速度

如题,现在的DocView太慢了

无解 (紫薯紫薯)

不用pdf-tools么?

macos 10.14,pdf-tools编译不过,因为它依赖的qt6在旧系统上始终brew编译不过去,导致poppler装不起来。

brew也真神奇,不支持旧系统!!

我个人的选择是要么 All in EAF, 要么pdf,rss, email, browser 这些all in Non-Emacs app

4 个赞

我可以正常使用 pdf-tools

pdf 感觉还是 emacs 的痛点

我觉得没必要 ALL IN Emacs,难道真的要把 Emacs 当成操作系统吗?那岂不是错失了很多其他好用的工具。

看 PDF 在不同平台都有不同的更好的选择,写邮件也有各种好用的客户端。

2 个赞

确实没必要 all in emacs,但只要 emacs 有解决方案的,基本上首选 emacs。eaf pdf 阅读体验就非常不错,有了它就再也没用外部pdf阅读工具了。

对我个人来说,想要all in emacs主要的理由有两点,第一点是可以全键盘操作,第二点是配置可以使用熟悉的elisp配置。我个人其实比较看重全键盘操作,对于强大的自定义配置没有那么看重(使用类似json,yaml之类的dsl来做简单配置我也ok),所以邮件我是用mu4e,pdf我就用其他的了。

pdf-tools 或者 直接 xwidget

我刚开始也追求全键盘操作,但后来手指疼过一次后,就不执着这个了 :smile:
在 Emacs 中就专注于写代码,用 org (org-roam)记笔记,dired 管理文档,在 Emacs 中都是全键盘。

在 Emacs 以外,浏览尽量全键盘,鼠标也用,触摸板也用。

  • 浏览网页用 Chrome,sarfari ,都安装 Vimium 插件(偶尔用用,网页的滚动还是鼠标和触摸板方便),通过 AHK 或者 karabinar 实现浏览器都是 Emacs 按键。
  • PDF 用 Skim 或者 macOS 自带的,Windows 系统用 SumatraPDF。
  • 邮件在 Windows 下用 outlook,Emacs 中用 gnus 看邮件列表
  • 听音乐还是网易云客户端
  • 聊天用 Telegram 客户端

这样的好处是,Hack Emacs 经常需要重启时,并不会影响娱乐的功能。

更新到emacs29使用pdf还挺流畅的。mac系统。

已通过port安装了poppler,怎么M-x pdf-tools-install识別到?它总是要调用brew再次安装poppler。囧

为啥我的直接就可以安装,你的这么麻烦?

利用C-h f, 看看pdf-tools-install的实现?

我现在都是用内置的docview,设置mutool作后端。emacs看pdf想舒服目前必须放弃一些功能,比如我就放弃了标注功能,有啥直接旁边window org-note记。

然后我发现,如果只是自己看文章的话,标注其实不是一个好习惯。因为如果是精读,第一遍标出的大概率你第二遍读只想把它删了。。按自己的理解写下更好。搜索的话我是直接配合命令行的pdfgrep

1 个赞

因为我的os版本是10.14,brew不支持旧系统了。

可以advice docview的一个函数,让mutool生成svg,比png更好看一些

我是 docview 开发者之一, docview 的原理主要是生成图片再让Emacs看图片, 体验差主要集中在:

  1. 生成速度慢: 每一页都需要转换成图片, 特别是后面的内容, 刚打开文件, 没有生成图片的时候看不了
  2. 滚动性能慢: 当PDF的高度超过Emacs Window的高度, 就会导致Emacs滚动图片不流畅
  3. 功能缺失: 生成图片不会对PDF有任何内容分析, 比如链接、 标注就不要想了

EAF目前用的是 mupdf 这个库, 性能要比 poppler 好很多, 同时 EAF PDF 考虑到性能和内存的平衡, 基本上任意大小的PDF文件都是秒开, 包括一些高级功能, 比如类似 vimium 的链接跳转、 图形和文字标注、 高性能选中文本、 排除图片的暗色模式等等。

EAF大大增强了Emacs的表现能力, 而且跨平台都可以很好的使用, 如果要 All in Emacs 就用EAF吧, 我觉得社区有时候的逻辑非常奇怪, Elisp + 外部工具 + Hacking Way的方式可以接受, EAF 这种编程语言级别的 IPC 方案, 大家在那纠结不是 Elisp 写的, 难道用外部工具的时候也会纠结是不是 Elisp 写的?

8 个赞