当Snails爱上EAF的时候, 哈哈哈哈

EAF内置的PDF Viewer已经是Emacs里面性能最高的PDF阅读器。平常编程时我都用Snails来全局搜索。

如果Snails遇到EAF会发生什么美妙的化学反应呢?

那就是今天的 snails-backend-eaf-pdf-table 插件:

  1. 当你在用EAF阅读PDF材料的时候,用快捷键唤起 snails
  2. 随便输入任意目录的字符,snails会用模糊算法匹配你输入的目录关键字
  3. 回车即可跳转到对应目录的位置

这在阅读文档到中间位置的时候特别有用,我们不需要回到目录页面,然后手动去查找目录的标题和页码信息,在阅读到文档的任何地方都可以快速搜索目录标题并跳转。

%E6%B7%B1%E5%BA%A6%E5%BD%95%E5%B1%8F_emacs_20200106204514

实现原理:

  1. 首先给EAF打一个保存目录信息的补丁, PDF文件打开的时候,计算PDF文件路径的MD5值,并保存目录信息到MD5文件中, 避免大量的数据在Emacs和EAF两个进程之间传递
  2. 其次给Snails打一个PDF目录搜索的补丁, snails启动时探测到用户在查看PDF文件,就从MD5文件中读取当前PDF文件的目录信息
  3. 最后Snails结合用户输入的关键字和目录信息进行模糊对比过滤出用户想查找的目录标题

Live in Emacs又近了一步, 哈哈哈!

11 个赞

羡慕ing,重要的重要,啥时候能跨平台哦

1 个赞

如果xserver,比如vcXsrv,支持EAF需要的X11 reparent (误?),那EAF在Windows上应该就没问题。