slbtty
1
这里用的是 goldendict 的一个现代 fork
Archlinux 用户可以直接 yay -Syu goldendict-ng-git
设置里面可以添加多个网络或离线词典。
(defun +dict-word-at-point ()
"Search word in goldendict"
(interactive)
(call-process-shell-command (concat "goldendict " (current-word) " &") nil 0)
)
(global-set-key (kbd "s-d") '+dict-word-at-point)
demo:
弹出的 popup 可以用键盘控制:
- Esc 关闭
- up/down
- Alt + updown
- PageUp/PageDown
Limitation:
弹出的 popup 必须要开启右上角的 置顶+Pin 才能完全用键盘控制
2 个赞
ginqi7
2
emacs 中的词典应该还挺多的。这样还需要弹出外部应用的词典似乎不太好用。
下的 Appimage,gnome 里跑不起来,提示 QtMultimedia is not currently supported on this platform or compiler.
slbtty
4
Emacs 本体是没办法看网页的,现有的方案大部分是调 API 薅免费的羊毛,维护成本高,支持的语言也有限。开一个外部应用这些问题都解决的了,而且这个外部应用还可以在非 Emacs 的地方用。
这个 fork 的 goldendict 的 popup 可以完全用键盘控制,不会影响 emacs 的体验。 @ginqi7
另外一些词典是没有在线版本的。
前人的帖子 一个支持多词典的翻译插件(目前仅支持单词)
slbtty
5
你的 linux 发行版和版本是啥?CI 里面用的是 ubuntu 20.04 打包的,Appimage 只能从最小的版本往上支持。
popweb这样的css样式隐藏的方式,基本上没有任何维护成本。
2 个赞
slbtty
8
在 fedora 上试了一下,用 6.4.1 的 appimage 的话,Qt Multimedia 需要用系统安装 ffmpeg,sudo dnf install ffmpeg-free
slbtty
9
你就正常用官网的页面,然后不要的元素css直接隐藏了,如果官网变化了,5分钟就可以调好。
这个比API方法省事,稳定,而且不会被封锁。
请问除了加顶楼的defun那段还需要些啥,执行报
command-execute: Wrong type argument: commandp, +dict-word-at-point
不懂代码,和下面这个
区别是?
@manateelazycat
没懂,这里不是有interactive吗
更新:两段都放了,这个也就能用了,混乱中