Please enable Javascript to view the contents

在Emacs裏查閱辭典

 ·   ·  ☕ 3 分钟  ·  ✍️  Firmin Martin

學語言或者讀文學作品,最費時的莫過於查字典了。求學期間,曾經歷過「翻閱紙本辭典」、 「使用線上辭典」到目前為止的「Google Chrome搜索引擎關鍵字」,三個階段。需要花費 的時間從最初的數分鐘縮減至十多秒鐘,然而這速度仍然無法滿足我。

Figure 1: 康熙字典,小時候翻閱它充滿樂趣。

Figure 1: 康熙字典,小時候翻閱它充滿樂趣。

正好從Vim轉移到Emacs已經大約13個月了,幾乎所有的文本全部都在Emacs內部處理。理所 當然地查了下Emacs有沒有字典類的插件。果不其然,「Ivy」的作者Oleh Krehel (a.k.a.「abo-abo」)寫了一個名為「define-word」簡單易用的插件 1。 簡而言之,「define-word」透過解析線上辭典的HTML代碼來支持光標下搜詞(見圖 1)。 然而,其所支持的辭典僅有兩本簡陋的英-英辭典和一本德語同義語辭典,而我時下所需的是稍微進階些的法-法辭典。

Figure 2: 「define-word」的官方截圖。

Figure 2: 「define-word」的官方截圖。

因為不久前,開始編寫個人第一個Emacs插件對 於 Emacs Lisp 略有心得,我便看了看原始碼,發覺加入新的 parser 並不難2。當然 這也歸功於作者的設計了。第一個想到的辭典就是「維基辭典」,不過因為其維基的特性, markup 比較複雜,想想實在過於麻煩。接著想起了中-法辭典「法語助手」的存在,便試試了身 手。結果雖然不差,但是中法辭典還是不合我胃口。況且還有幾個零星的問題,比如查變位 過的動詞無法重新導向至原型動詞的釋義。

我的念頭自然地轉向了 Larousse 辭典。這個線上法-法辭典,除了一個字可能存在多個頁 面以外,沒什麼大缺點。而這個問題,往後有必要也可費點功夫解決之。稍稍擴展了原代 碼後,我所寫的 Larousse 辭典的 parser 便支持了詞類、例句、語源等等的突顯(見圖 34)。再多花些時 間,應該就可以做到「同時搜索多本辭典」、「搭配 org-drill 自動創建字卡3」等有趣的功 能。閒暇之餘增加幾本百科、同義詞辭典也是不錯的選擇。

現在查一個詞的耗時僅剩不到一秒的延遲4。如若還有更快的方法,我也樂於求教!

你可以在這裏找到我 添加 Larousse 詞典的 fork。

Figure 3: 在 Larousse 查「couture」的搜尋結果。

Figure 3: 在 Larousse 查「couture」的搜尋結果。

Figure 4: 在 Larousse 查「abandon」的搜尋結果。

Figure 4: 在 Larousse 查「abandon」的搜尋結果。


  1. 據作者所稱,寫完 「define-word」前後耗時不到30分鐘,足見他 Emacs Lisp 的功力了。 ↩︎

  2. 終究只是加入彆腳的 regex。 ↩︎

  3. 再透過org-agenda添加到日程。 ↩︎

  4. 利用快捷鍵 C-c d 。 ↩︎


Firmin Martin
作者
Firmin Martin

目录