Emacs 词典查询系统,将 MDX 词典转换为 SQLite 数据库,提供快速查词、多词典切换、音频播放等功能。
- 🔍 快速查词,支持词形还原
- 📚 多词典并行查询,Tab 切换
- 🔊 英/美式发音播放(本地/在线)
- 🌐 中文翻译 Peek 显示(按
t临时查看) - 🔗 交叉引用跳转,义项精准定位
- 📖 imenu 支持,快速跳转义项
- 📦 习语、短语动词、搭配、语法框等完整支持
├── lexdb.el # 核心数据结构和 API
├── lexdb-ui.el # Emacs UI 渲染
├── lexdb-ldoce.el # LDOCE 词典适配器
├── lexdb-oald.el # OALD 词典适配器
├── lexdb-ode.el # ODE 词典适配器
├── schema.md # Schema 规范文档
├── assets/
│ ├── screenshot.jpg
│ └── screenshot1.jpg
└── scripts/
├── lexdb_common.py # Python 通用模块
├── mdx2db_ldoce.py # MDX → SQLite 转换 (LDOCE)
├── mdx2db_oald.py # MDX → SQLite 转换 (OALD)
├── mdx2db_ode.py # MDX → SQLite 转换 (ODE)
└── extract_html.py # MDX html 提取工具
# 安装依赖
pip install readmdict beautifulsoup4 lxml
# 转换 LDOCE
python scripts/mdx2db_ldoce.py LDOCE6.mdx
# 转换 OALD
python scripts/mdx2db_oald.py OALD4.mdx
# 提取音频(可选)
python scripts/mdx2db_ldoce.py LDOCE6.mdx --extract-audio(add-to-list 'load-path "/path/to/lexdb")
;; 加载核心和 UI
(require 'lexdb-ui)
;; 加载适配器
(require 'lexdb-ldoce)
(require 'lexdb-oald)
(require 'lexdb-ode)
;; 配置词典
(setq lexdb-dictionaries
'((:id ldoce
:type ldoce
:name "朗文当代"
:db-file "~/dicts/LDOCE6.db"
:audio-dir "~/dicts/audio/"
:priority 1)
(:id oald
:type oald
:name "牛津双解"
:db-file "~/dicts/OALD4_EC.db"
:priority 2)
(:id ode
:type ode
:name "牛津英语"
:db-file "~/dicts/ODE_Living_Online.db"
:priority 3)))
;; 初始化
(lexdb-init)
;; 绑定快捷键
(global-set-key (kbd "C-c d") 'lexdb-search)| 快捷键 | 功能 |
|---|---|
s |
搜索新词 |
n/p |
上/下一个义项 |
1-9 |
跳转到义项 |
t |
Peek 翻译 |
C-c C-c |
播放音频 |
>/< |
切换词典 |
l/r |
历史前进/后退 |
M-g i |
imenu 跳转 |
q |
关闭 |
| 词典 | 转换脚本 | 说明 |
|---|---|---|
| LDOCE 6 | scripts/mdx2db_ldoce.py | 朗文当代英语词典第6版,学习型词典,词频标注、搭配丰富 |
| OALD 4 | scripts/mdx2db_oald.py | 牛津高阶英汉双解词典第4版,英汉双解 |
| ODE | scripts/mdx2db_ode.py | 牛津英语词典在线版,数据来自 Oxford Dictionaries Premium(现需付费),含词源信息 |
词典数据库和 MDX 文件体积较大,不便放在 GitHub,请从以下链接下载:
| 资源 | 下载链接 |
|---|---|
| 预构建数据库 (db) | Dropbox |
| ODE Living Online (mdx) | Dropbox |
| OALD4 双解 (mdx) | Dropbox |
| LDOCE 6 (mdx) | Dropbox |
Python:
- readmdict
- beautifulsoup4
- lxml
Emacs:
- Emacs 29.1+
- sqlite3 支持
MIT

