Der Wanderer 104
Vergangenen Oktober hatte ich mich zuletzt mit dem in Emacs
integrierten Wörterbuch dictionary.el
und mit osx-dictionary
beschäftigt, mit dem man auch das Wörterbuch in macOS in Emacs nutzen
kann. Dann passierte lange Zeit relativ wenig in meiner dotemacs
,
weil mir dazu die Zeit fehlte. Letzteres ist derzeit eigentlich immer
noch so. Aber manchmal ist es vernünftig, dem Impuls nachzugeben und
sich einmal wieder der Emacs-Konfiguration zuzuwenden, weil es
erholsam und gut ist, sie zu pflegen. Was noch fehlte, war eine echte
Web-Suche, sowohl in der größten Enzyklopädie ever written als
auch in einer Internet-Suchmaschine.
Die folgende Ergänzung habe ich heute mit kleineren Änderungen aus dem Blog von İsmail Efe Top (via jcs) übernommen. İsmail hatte dort ursprünglich eine Google-Suche für das Wort at-point formuliert. Ich habe das als eine Anregung genommen und für meine Zwecke leicht angepasst, weil es tatsächlich praktisch ist und eine schöne Ergänzung zu meiner Lexikon-Suche darstellt:
(defun wikipedia-search-word-at-point ()
"Search the current word on German Wikipedia using browse-url."
(interactive)
(let ((word (thing-at-point 'word)))
(if word
(browse-url (concat "https://de.wikipedia.org/w/index.php?search=" word))
(message "No lemma found at point."))))
(global-set-key (kbd "M-ä") 'wikipedia-search-word-at-point)
(defun metager-search-word-at-point ()
"Search the current word on MetaGer using browse-url."
(interactive)
(let ((word (thing-at-point 'word)))
(if word
(browse-url (concat "https://metager.de/meta/meta.ger3?eingabe=" word))
(message "No term found at point."))))
(global-set-key (kbd "M-Ä") 'metager-search-word-at-point)
Nachdem ich die Eingabe M-#
schon für eine Suche des Terms
at-point im Emacs-Dictionary und M-'
entsprechend für die Suche im
osx-dictionary
belegt hatte, wählte ich M-ä
für die Suche in der
deutschsprachigen Wikipedia und M-Ä
für eine ebensolche in meiner
Standardsuchmaschine MetaGer. Die Ä-Taste wählte ich, weil sie direkt
neben der anderen Taste angeordnet ist. Funktioniert sehr schön, wie
erwartet.
Die Fallback-Lösung (eine Nachricht im Minibuffer) kommt nur zum
Einsatz, wenn der Cursor beim Aufruf der Funktion nicht an einem Term
steht, den er an den Server per browse-url
übergeben könnte. Das
Fallback-Handling im Übrigen verbleibt beim Server; man wird dann ja
auch schon im Webbrowser sein, so dass man dort die Antwort erwartet.