事情是这样的:
前两天我吹出了一个大话,说要搞一个 emacs 写诗的功能。写诗嘛,自然免不了跟各种奇奇怪怪的韵字和生词打交道,像什么云树啊、偃蹇啊、稼穑a什么的。既然要做这个,就总不能让人去手刨汉典和搜韵吧,然后我就惊讶(其实并不)地发现emacs在英文词典领域百花齐放,却还没有一部中文辞典 看来大家确实在这方面缺乏需求 因为这个也不难,所以我就抽空做了一个,希望能帮到有需要的大家ww
把cndict.el
、cndict-char-data.el
和cndict-word-data.el
下下来,并把它所在的目录加入load-path
,在配置文件中加入(require 'cndict)
就可以用了。经验不足,很多地方处理的很生涩,还请大家不吝赐教!
插件代码很少,一共才四个函数,cndict
函数用临时buffer显示选中字词或kill-ring中字词的释义,cndict-minibuffer
会把释义稍作缩短后用minibuffer显示出来。
虽然代码少,但写的时候还是让我学到了很多,像interactive的使用、with-temp-buffer-window、format的%S什么的,有的时候一个功能捣鼓半天,才发现有更简单的方法一句话搞定,真是糟心又开心的体验
写代码时还算比较愉快,主要功夫下在了梳理语料和发布上。中文字典和词典资料来自https://github.com/mapull/chinese-dictionary,这个项目整合了网上的大量资料,且目前仍在活跃更新,向作者致以真诚的感谢!
写出一个东西,自己能用是一回事,能让其他人用又是另一回事,这真的是一种无与伦比的人生体验。无论是正在重写第二遍的cnhl,还是这个cndict,真的感谢社区亲切可爱的大家,鼓励我不顾困难、闭着眼睛一路莽过来。也请各位有经验的前辈们,有时间帮孩子看看有什么可以做的更好的地方。无论是这种maphash套mapcar的神奇写法,还是直接把整个哈希表用%S存进文件里的词典,都是我第一次尝试。希望我走了一条正确的路~
善为文者,富于万篇,贫于一字。——《文心雕龙》
我爱emacs!
ps:补上截图,cjktty下截的,所以显得很糊 :