albatros | texte
Freitag, 13. Oktober 2023

Der Wanderer XCIII

Das integrierte Wörterbuch und Lexikon in Emacs dictionary.el kann über M-x dictionary aufgerufen werden. Es ist nicht weiter dokumentiert, insbesondere gibt es keinen Eintrag im Emacs Manual oder in Info. Dabei ist es ziemlich praktisch und lohnt oft einen Aufruf, und sei es nur zur Prokrastination.

Wenn die Wörterbuch-Daten nicht lokal installiert sind, greift das Wörterbuch auf Server-Lösungen zurück. Vor der Kontaktaufnahme mit dem Server – standardmäßig: dict.org – erfolgt eine Nachfrage zur Freigabe.

Je nachdem, wie man die Suche konfiguriert, erhält man ganz unterschiedlich nützliche Ergebnisse. Es lohnt sich deshalb, ein bisschen mit den Optionen zu spielen, um herauszufinden, welche Einstellungen am besten passen. Am brauchbarsten hat es sich für mich erwiesen, all dictionaries zu durchsuchen, und zwar nach exacten Treffern. Beides sind Strings, die nicht korrekt über Customize gesetzt werden konnten. Daher: direkt in die .emacs eintragen.

Per dictionary-use-single-buffer begnügt sich das dictionary mit einem Buffer; standardmäßig öffnet es für jede Anfrage einen eigenen, das ufert leicht aus, deshalb lohnt sich diese Änderung.

Nach einer Anregung von Mickey Peterson habe ich M-# mit der Funktion dictionary-lookup-definition belegt. Damit wird das Wort, auf dem der Cursor gerade steht, direkt an das dictionary übergeben und darin nachgeschlagen. Das Ergebnis wird in einem neuen Buffer ausgegeben, den man durch q wieder schließen kann.

Mickey Peterson schlägt auch vor, das dictionary rechts einzublenden, statt einen eigenen Buffer an der Stelle des aktiven Buffers zu öffnen.

(setq switch-to-buffer-obey-display-actions t)
(add-to-list 'display-buffer-alist
             '("^\\*Dictionary\\*" display-buffer-in-side-window
               (side . right) ; wahlweise: left
               (window-width . 50)))

Das geht mir aber etwas zu weit; ich finde, das Wörterbuch darf durchaus auch etwas mehr Raum beanspruchen, und es ist auch nur auf breiten Bildschirmen wirklich brauchbar, also nicht auf einem normalen MacBook.

Ich belasse es deshalb bei dieser Konfiguration:

(use-package dictionary
  :config
  (setq dictionary-default-dictionary "all")
  (setq dictionary-default-strategy "exact")
  (setq dictionary-use-single-buffer t))
(global-set-key (kbd "M-#") 'dictionary-lookup-definition)

Mit dem Paket osx-dictionary kann man übrigens auch auf die dictionary.app von macOS zugreifen. Das Wort at point wird bei mir per M-' nachgeschlagen. Damit wird eine Funktion von dabbrev überschrieben, das ich nicht brauche. Das Gegenstück zu M-x dictionary-search für beliebige Abfragen ist M-x osx-dictionary-search-input.

(global-set-key (kbd "M-'") 'osx-dictionary-search-word-at-point)
Sie sind nicht angemeldet