dictionary 扩展可以连接到 dictd 来查询辞典,他的功能非常强大:
- 在所有的辞典里面查询单词的定义
- 查找匹配的单词
- 在辞典定义里面被 {} 包含起来的单词或短语的定义以超链接的形式出现, 并且可以直接跳转
- 简单的选择辞典以及搜索策略
- 在访问过的定义里面后退
- 在最新版的 Emacs 和 XEmacs 里支持弹出菜单
- 在 GNU Emacs 21 和 XEmacs 21 里面可以通过 tool-tip 的方式把鼠标放在 词语上即可查询
- 支持 HTTP 代理
- 支持非 UTF-8 编码的辞典
下载和安装
当然,如果不是网络很好,通常都是在本地安装一个 dictd 。之后,可以去 他的主页下载最新版的 dictionary 扩展包。 Debian 的用户还可以用 apt-get 直接安装,还可以免 去后面的 autoload 的配置。
解压之后, make
一下,把那些 el 文件 byte-compile 一下,好让 Emacs 能
更快速地加载他们。然后把编译好的 elc 文件放入 load-path 里面,可以修改
load-path ,也可以直接把他们拷贝到 load-path 里指定的某个目录里面,我
选择修改 load-path 。
之后要定义一些 autoload 的东西好在需要的时候加载。
这样就算安装完成了。
配置和使用
接下来要进行配置。首先是设定 server ,我使用本地 server :
之后可以定义自己喜欢的键绑定:
还可以打开 tooltip 的功能:
现在如果本地的 dictd 服务器正常运行的话,就可以使用了!可以使用 C-c
s
来查询单词,他会先填入当前光标所在的单词,然后向你确认,你可以做适当
的修改,然后查询结果会在一个 buffer 里面显示出来。 C-c m
用于查找匹配
的单词,甚至可以进行正则匹配,匹配的单词列表也会在一个 buffer 里面显示
出来,并且作为超链接出现。还有一个方法是用弹出菜单的方式列出匹配的单词
,比如:
这样,当你在点击鼠标右键的时候,鼠标附近的词语会作为模式进行查找,匹配 的单词以菜单的形式显示出来。不过,对于不经常使用鼠标的用户,也可以使用 键绑定的方式:
不过这两种方法都有他的不好的地方就是有时候边界识别不是很完美,当然,如 果熟悉 elisp 的话,也可以自己写一个接口,现处理边界匹配,然后再允许用 户编辑一下,最后再传进去,也是很不错的。
还有就是 tooltip 模式,你可以像前面配置的那样,在全局打开 tooltip 模式 ,打开后,在 mode-line 那儿会有一个 ``Dict'' 的指示器。也可以用类似这 样的方法只对某些模式打开 tooltip 的功能:
当然,你也可以手工打开。打开之后,把鼠标停留一阵,就会以 tooltip 的方
式显示鼠标处的单词的查询结果,通常 tooltip 窗口不需要太大,所以查询所
有的辞典是不可取的,可以使用 dictionary-tooltip-dictionary
变量来设置
tooltip 查询用的辞典,例如我上面设置了 WordNet 的辞典。不过,对于 22
以后版本的 Emacs 来说,这个功能还不能用,在邮件列表上的讨论表明
dictionary.el 使用 tooltip 的方式好像不是正确的,所以不能被很好地支持。