paw.el外语学习,高亮笔记,单词本,等一体的新插件(Emacs的蒙哥阅读器、LingQ)

先上为敬:GitHub - chenyanming/paw: Emacs Annotation and Language Learning tool.

讨论群:Telegram: Contact @emacs_paw

开发这个工具的目的有两个:用Emacs学习外语(类似蒙哥阅读器和LingQ那样,点击就能查词,加词,和全文高亮);和阅读的时候添加单词,和高亮笔记。

如果你没听过蒙哥阅读器或者LingQ,可以看看:

以及老爷子Steve的是如何通过大量阅读和听力来学习N种外语的

本工具是阅读为主,配合外部TTS(edge-tts)发音(可能有部分代码缺失没开源,等我慢慢补上),也可以配合org-media-note就能阅读和听力齐齐拿下,搞定任何一个外语了!

一句话,就是蒙哥阅读器和LingQ的Emacs版本,糅合了词典,翻译,笔记,高亮,tts发音,AI,单词本(利用了欧路词典的api,在Emacs添加单词,直接同步到欧路中进行复习,形成收集单词-复习的一个闭环,我也提供了将笔记导出到csv,后期添加到Anki中复习也行!)等众多功能。这个工具是建立在很多前人大佬的肩膀上制作的。你可以看到一下很多工具的身影:

  1. sdcv
  2. focus
  3. eaf
  4. nov
  5. go-translate
  6. gtpel 等等

今天刚好请假做了个小手术,趁闲开源,也终于完成了开源paw.el,解开了我很久的心结,一来我打算私藏算了(我自己认为市面上没有比paw.el更好的外语学习工具了),二来代码好多bug,数据库的格式一直变动,所以,开发它,花费了我整整好几年的时间,从2021年5年开发到现在,中间我自己没有找到paw的定位,插件也搁置在那里,也最近这段时间折腾安卓版Emacs和决心要学习好英语和日语(还有韩语、西班牙语等)才决定将它重新组织并开源,让它能受惠更多人,不再需要市面上的乱七八糟的阅读和外语学习软件了,特别是安卓版的Emacs让移动阅读变得更加方便。时间耗费这么长,是因为在构思上参考了很多市面上手机的阅读apps,外语学习工具等等,本人是阅读app控,基本上市面上的阅读app都试过了,没有一个满意的,有的笔记也无法三端同步(手机,电脑,平板),因此我决心要用Emacs自己弄一套阅读和外语学习系统,我的目的就是打造一整套的学习外语和阅读作笔记的完美方案,就在Emacs,可以用一辈子的最佳方案。

文档和代码仍然很粗糙,等我有时间再更新,大家先凑合用着。英语分词ecdict.el还没开源,等我这几天闲了点再说。。。

安卓版Emacs演示视频在此(也很粗糙,上传视频真难啊,转gif,还是太大了)。。。

output output2

Tips:

  1. 以下截图部分是开了focus mode,配合focus mode和句子的分词(segmentation),tts发音,自动翻译,就可以实现类似LingQ的sentence mode(逐句学习),对学习一门新的外语非常有用。
  2. 当你开了paw-annatation-mode,你会发现鼠标mouse 1绑定了一个快捷键,只要不懂哪里点哪里,自动查词和翻译,会根据语言,是否拉选,是否在focus mode等等,来实现实了蒙哥的"点一下就查词"的功能,在安卓版Emacs尤其有用。
  3. 查词和翻译函数: paw-view-note可以在任何buffer调用,不过paw-view-note仅仅是sdcv和go-translate,作为第一步的查词(实际应用上,有sdcv和go-translate已经足够了,效率和查询速度也非常快,本插件增强了sdcv,每次查词都开一个新进程,结果出来后才更新,不会卡Emacs),如果不满意,可以再利用外部工具查,不强调所有查词功能都在Emacs中做。而且鼓励用户添加单词的时候添加一个Saved meanings,然后当下次再查这个词的时候,就优先显示Saved Meanings,基本上一个单词只要记住一个意思就够了,这点也是模仿了LingQ。而不是同一个单词查无数次的死循环。
  4. 添加单词用paw-add-online-word就可以加到欧路,不加’意思’也可以的!因为受欧路Api的限制,'意思’无法同步到欧路。你可以直接在欧路上利用复习功能复习单词。
  5. 全面支持欧路的单词本API,可以在Emacs实现同步,添加,删除,和单词本管理,在paw可以批量选择单词然后进行换单词本的操作(对喜欢先添加单词,后期再整理单词本的人非常有用)。具体请看代码。有空再加文档。

电脑截图: 英语的segmentation和离线词语分析,可以按照各种等级过滤自动查词(需要Ecdict,等待我补上):

英语网页查词(这里用了popwin,你也可以用eaf或者外部浏览器):

goldendict查词(Linux):

日语的segmentation和离线词语分析:

开启paw-posframe-p, 目前posframe有bug:

开启paw-posframe-p, 目前posframe有bug:

配合org-media-note学习(待我补上缺失的代码):

32 个赞

支持点赞 :+1: :+1: 演示demo可以传第三方视频平台,比如 b站 油管等。

1 个赞

这是手机上ssh连远程运行emacs吗?

1 个赞

不是,这是原生 Emacs安卓客户端。

Emacs 真是人才济济…

2 个赞

蒙哥花了钱结果很久不更新很难受; 能同步欧陆也非常可以,利用欧陆的同步可以多端背单词巩固。 简直了!完美!

(话说,既然欧陆有 API ,能不能直接在欧陆里查词?)这样欧陆值得我单开一个屏幕全屏用他。(里面的词典比较习惯)

可以的,我在手机上用termux调用了欧路,电脑我也有,回头可以把代码也补上。

1 个赞

不过很可惜欧路的API只有单词本。

而且蒙哥太膨胀了,赚得不少了,也不做安卓端。安卓端出来了一个模仿蒙哥的app,也开始收年费了,那软件阅读体验很差,我装了一次就卸载了。

是的,他算是完全散养赚钱的,像流浪的小孩子,不管死活,出去要饭,要到就行,最好能带点回来的样子 。。。

不过在苹果嘛,保底还能用 applescript 调用 23333

不好意思大家,由于已经有项目叫pen,所以本项目改名为paw。

看了下欧陆的 API,还可以做个“跟读测评” :grinning:

请教下,日常阅读 github issue 可以使用这个包么?

的确可以,手机Emacs值得做做

但是编译termux-api比较头疼,目前只能用termux-am来调用外部app,要能直接调用手机app的语音服务也许更容易些。

github issue你在Emacs能看到就行,eaf也支持。不过目前我没搞定在eaf里面高亮,但是配合eaf-browser或者eaf-pdf加单词和查单词,添加书签也是没问题的。你拉选了eaf浏览器的一个单词,然后调用paw-view-note,就能对做加单词,查词操作。所以理论上所有的网页和pdf都可以直接加单词到欧路,然后在手机上复习。电脑无需安装欧路。

本也想做成eaf的一个插件,可以在eaf里面也高亮单词本的单词,无奈eaf太难修改了一整天也没法入手,也先搁置了。

类似这样,自动翻译,自动查词,自动发音,都不成问题,上面的有大量按钮可以直接按,可以跟外部app进一步互动:

2 个赞

tql,我去试用一下