在Emacs中漫游——sydict v0.3

    技术2024-07-21  74

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

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

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

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

    1 ;; 0.3 Mon Jan 31 2010 2 ;;     1. write result into a partical buffer, defalut "*sydict*" 3 ;;     2. using help mode to view result. 4 ;;     3. using `with-help-window' for displaying result that 5 ;;        help shrinking length of function of 6 ;;        `sydict- look -up-word'. 7 ;;     4. setting a new function `sydict-buffer'. 8 ;;     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的自动补全功能

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

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

    最新回复(0)