分享一个简单但是有用的函数:
(defun et/avy-youdao-dictionary ()
"用有道翻译指定位置的词,并返回。跳转由 avy 实现。"
(interactive)
(save-excursion
(call-interactively #'avy-goto-char)
(youdao-dictionary-search-at-point-tooltip)))
需要 youdao-dictionary
以及 avy
。
美中不足的是需要按任意键返回。
1 个赞
youdao-dictionary--pos-tip
需要按任意一个键来关闭 tooltip,背后的理由我已经不记得了,可以试试直接用 pos-tip-show
(defun et/avy-youdao-dictionary ()
"用有道翻译指定位置的词,并返回。跳转由 avy 实现。"
(interactive)
(save-excursion
(call-interactively #'avy-goto-char)
(--when-let (word-at-point)
(pos-tip-show (youdao-dictionary--format-result it)))))
1 个赞
在 org-mode 中测试不成功,可以看到 minibuffer 中的提示是调用了查词,但是 pos-tip 不显示。
我这边没问题。
(emacs-version)
=> "GNU Emacs 25.2.1 (x86_64-apple-darwin16.7.0, Carbon Version 157 AppKit 1504.83)
of 2017-08-11"
org-version
=> "9.0.9"
1 个赞
我之前用 pos-tip 就有这个问题,后来加上 unwind-protect 后好了,现在还是这个问题,可能是 spacemacs 的 Org layer 加载了太多东西。导致 pos-tip 显示后立马删除了,看起来就好像没有显示一样。
对于我来说是鱼与熊掌不可兼得了,不想额外按键,pos-tip 就闪退;pos-tip 不闪退,就得额外按键。
不过也没有什么大不了的,多按一个键也没什么,强迫症害死人。
多谢 @xuchunyang
我这里tooltip显示5秒后自动消失,不需要按键。