我是怎么用Emacs学习英文的?

学好技术的关键是英文要好, 但是对于我这种英语渣, 中学的时候英文考试拖全班后腿, 记不住单词拼写, 乱整英文语法… 我除了能够流畅的读英文文档外, 如果要我正确地编写别人能够可以懂的英文文档简直难为死我了.

还好我会编程, 有很多朋友都在问在Emacs怎么学习英文, 我今天就分享一下我是怎么玩的.

查单词

我们阅读英文材料的时候, 难免会看到不认识的单词, 所以我十多年前给Emacs写了一个星际译王的插件 sdcv.el , 按一个快捷键就可以翻译当前的英文单词, 或者把输入的中文翻译成英文单词.

单词弹出的时候会同步真人发音, 就像这样:

输入英文

有时候写英文文档的时候, 记不得复杂单词的拼写, 这个时候就需要一个插件帮忙补全拼写, 最好补全的时候显示一下单词是动词,名词还是形容词, 免得闹语法错误.

所以, 我半年前又基于星际译王的词典, 写了一个英文辅助插件 company-english-helper.el

妈妈再也不用担心我的英文拼写了, 就像这样:

英文文档

会认识英文单词和正确拼写英文单词是一回事, 但是能够写出流畅的, 老外可以看得懂的英文文档又是另外一回事.

平常我都是在浏览器开一个Google翻译,写一段中文, 拷贝翻译到Emacs再调整, 在浏览器和Emacs中间来回折腾, 效率低到我这种键盘党无法忍受.

所以我几个月前写了一个自动翻译的插件 insert-translated-name.el 的插件, 当你需要输入英文文档, 注释或者函数名时, 这个插件会自动通过Google或者有道自动查询翻译并替换输入的中文字符, 就像这样:

这个插件会自动识别当前的编程语言, 代码区域或者注释区域, 当你输入完中文按空格以后, 它会自动插入不同风格的翻译形式, 比如C语言就插入 foo-bar 风格的翻译字符, Java就插入 fooBar 风格的, 字符串里面, 注释区域或者文本模式的时候, 就插入首字母大写并按照空格划分的英文语句.

而且结合 pyim, 这个插件会在启动时自动切换中文输入法, 哈哈哈哈.

懒惰拯救世界

结合上面三个插件, 我现在可以在各种情境下装逼秀英文了, 虽然有时候还是会有语法错误, 或者看着怪怪的, 但是总比我自己敲错拼写或者写出渣渣语法还是要强很多的.

好怀念十几年前, 我在Emacs中读中文, 我的一个 rcirc 插件自动翻译成英文和老外在IRC频道里神拽的年代.

希望上面的文章能够帮助和我英文一样渣渣的同学.

39 个赞

太牛了。我很需要。

星际译王已经没法用了,现在不如那个有道词典好用

只用它词典, 又不用他客户端, 它的词典还是很好用的.

前几年我查找星际译王,找的一个叫做golddict的插件,好像创始人是一个中国人,然后后来没有了项目主页,然后开始搞佛教的东西,我翻到了那个佛教主页,感觉那哥们是不是有点走火入魔了,我感到一阵迷茫。。。

对了,就是这个主页:http://www.huzheng.org/

做开源的事做多了是会这样,理想和现实

不好意思, 我歪楼了。

看了他网站 logo 描述, “I Love Linux, Crazy Linux xProgrammer”

2014年6月29日,到精神病院住院了2个多月!, 吓我一跳。

极客都是超理想主义者。XahLee(李杀) 也是玩Emacs入魔的人。

楼主也是超理想注意者,

可不入魔哦 …

1 个赞

这人挺有名的。。。

1 个赞

谢谢,一直希望有这样的插件,已经用上了 :+1: :+1: Emacs神教又多了个杀器

说实话,我第一次在Emacs中调用出来stardict功能的时候,才真的觉得这是我需要的词典功能。

他的主页上后面他写的获得诺贝尔奖等等这样的信息,觉得他是不是把想象和现实分不清楚了。其实他如果在软件公司里面,应该很容易养活自己的。

他只是最近几年走火入魔了, 其实很好的人, 原来在RedHat工作的时候, 能力和性格都挺好的.

我们就不要去评价他人了, 胡正是一个好人, 只是国内没有真正做开源的公司能够容纳这些从内心对开源狂热的人.

祝愿这些对开源狂热的人, 找到自我, 快乐最重要.

9 个赞

好的,希望他生活愉快!

@manateelazycat 看到你的 sdcv 页面上包含不少词典。我之前也下载过一些。但是你的有些词典我没 有。不知能否分享下?

给我发个邮件,我回给你

lazycat dot manatee at gmail dot com

Thanks

不用谢我

老兄真是厉害,写这么多插件!钻研劲头令人佩服!

不过有一点不解,有这劲头英语早学好了呀。我个人用 flyspell 和 youdaodict 足够了,如果还要正规就上 writegood 之类的。

“查单词” 这个功能,我使用命令 sdcv-search-pointer+ 后不能显示 tooltip,屏幕闪一下,然后念出了单词。

我使用的posframe是这个对吗?posframe/posframe.el at master · tumashu/posframe · GitHub

你的全屏状态不对

;; 自动全屏
(add-to-list 'default-frame-alist '(fullscreen . maximized))

我是用上面这个命令让emacs最大的,是指的这个不对吗?

我用下面这个改成了非全屏,还是闪一下。

(setq default-frame-alist 
      '((height . 30) (width . 128) (menu-bar-lines . 20) (tool-bar-lines . 0)))