Sylvester's Home

Technic Changes The World

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Time-stamp: <2011-02-01 12:46:56 sylvester>

之前写过一篇文章《使用Emacs构建我的字典(sydict)》介绍sydict产生的
原因并且发布了它的最初版本。当初那篇文章是用vimW写的,我自己都觉得有些搞
笑了,居然用其它的编辑器(vim)来写EmacsW系列的文章。之所以这样的原因是万
恶的IBus居然在Emacs下不能启动。使用C-<SPC>的结果无非只能跳出消息mark
active, make deactive。后来的一次巧遇,终于让我碰到了ibus.el这个神器。
这下终于根治了Emacs下不能使用中文输入法的顽疾。好不兴奋!

这几天一直在看Emacs Info上面的资料,也参考了一些作者写的elisp的代
码,鼓捣elisp manual的同时终于使我大彻大悟地体会到了之前写的sydict的简
陋。趁着这几天SourceForge不被攻击((*^__^*) 嘻嘻……),把脚本上传上去,
并一同写一篇文章记录下心得与改进。

sydict是本人编写的Emacs下的脚本程序。该程序可以在Emacs下完成陌生的
英文单词的查询功能,提供单词解释的输出。最初的版本已经在之前的文章中介
绍了,可是由于那个版本是我随意开发的,总共花费的时间不过数小时,难免有
诸多漏洞。如今对那个版本进行了重构,使得无论从操作简便性还是用户体验上
都有了不小的提升,具体改进如下:

;; 0.3 Mon Jan 31 2010
;;     1. write result into a partical buffer, defalut "*sydict*"
;;     2. using help mode to view result.
;;     3. using `with-help-window' for displaying result that
;;        help shrinking length of function of
;;        `sydict-look-up-word'.
;;     4. setting a new function `sydict-buffer'.
;;     5. record history, word predictation, word auto completion.


以下,是对该模块改进处的具体描述:
1. 使用新的缓冲区的名字*sydict*代替默认的*Shell Command Output*。
2. 使用call-process函数代替原先的shell-command函数。
4. 使用help模式输出解释,代替原先默认的Fundamental模式。
5. 使用函数with-help-window输出结果,缩减函数的长度,增加执行效率。
6. 使用sydict-buffer函数创建并返回*sydict*缓冲区。
7. 分离sydic的index信息。
8. 单词预测,当光标在单词周围调用查询函数的时候把该单词作为默认单词。
9. 单词自动补全,无须输入完整的单词,脚本会自动将你的输入与词库进行
对比后给出候选单词。倘若有且只有一个候选单词,则将该单词作为输入
进行查询。
10.单词查询记录保存,将用户查询的历史记录到特定文件中(可设置是否开启
该功能以及保存的位置)。

sydict的代码预测功能

sydict的代码预测功能

sydict的自动补全功能

sydict的自动补全功能

项目地址:http://sydict.sourceforge.net/

下载地址:https://sourceforge.net/projects/sydict/files/

分享家:Addthis中国

posted on 2011-02-01 17:11  Sylvester  阅读(473)  评论(0编辑  收藏  举报