0

嗨,我目前正在阅读一些从古.txt腾堡下载的小说格式。我经常遇到一个我不熟悉的单词,我需要在网上查找它。

我最近偶然发现了 Unixdict命令行实用程序来搜索单词的含义。它从网络上的多个词典和词库中获取单词的含义。

我想通过以下方式将它与 Emacs 集成。

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

我将如何为此编写一个 Emacs-Lisp 函数?

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

4

2 回答 2

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,这将在 minibuffer 中显示 的输出;dict否则会弹出一个名为*Shell Command Output*.

于 2012-11-16T06:10:25.627 回答
-1

ispell是你的朋友。ispell-word,默认情况下会M-$执行此操作。

另见wordnet.el

编辑:正如托马斯指出的那样, ispell 是不合适的。我是我之前提到的 wordnet 的忠实粉丝,您需要下载该程序。

另一个选项是 dict 命令的接口,例如在此处输入链接描述或该页面上列出的替代选项之一。

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

于 2012-11-16T06:14:05.067 回答