使用`dict`实用程序在Emacs中搜索光标下的单词的含义

时间:2012-11-16 04:04:27

标签: emacs

您好我正在阅读从Gutenberg下载的.txt格式的一些小说。 我常常遇到一个我不熟悉的词,我需要在网上查找。

我最近偶然发现Unix dict命令行实用程序来搜索单词的含义。它取而代之 网上多个词典和词典中词汇的含义。

我希望以下列方式将其与Emacs集成。

我想将光标下的单词传递给dict并将窗口分成两个缓冲区 :一个缓冲区包含当前文本文件,另一个缓冲区包含单词的含义。

如何编写Emacs-Lisp函数来执行此操作?

注意:在命令行中使用dict就像dict *word-being-searched*一样简单       我在Ubuntu 11.04下使用Emacs-24

2 个答案:

答案 0 :(得分:0)

word-at-point函数完成了您需要的大部分工作:

(require 'thingatpt)

(defun lookup-word-at-point ()
  (interactive)
  (shell-command (format "dict %s" (shell-quote-argument (word-at-point)))))

shell-command的任何其他调用一样,如果它足够短,这将显示迷你缓冲区中dict的输出;否则,它会弹出一个名为*Shell Command Output*的窗口。

答案 1 :(得分:-1)

ispell是你的朋友。 ispell-word,默认绑定到M-$就是这样。

另见wordnet.el

编辑:托马斯指出,ispell不合适。我是前面提到的wordnet的忠实粉丝,你需要download该程序。

另一个选项是dict命令的接口,例如enter link description here或该页面上列出的替代方案之一。

那里有足够的东西,你不需要自己写东西。