如何改造emacs自带的中文输入法(拼符)?

它出现的预选字是动态排列的,但是后面的字表还是固定的。如何让字表的字序能够自动按频率降序动态排列?

pyim在我的1万行org文件中还是有一点反应慢的。所以想看看能不能改造一下原生的输入法。

可以给我一个大致的方向吗?

你用的事posframe弹窗吗?

如果是emacs26,建议用posframe,popup实在慢得发指

我是用的lazycat的一个大帖子里面链接的pyim安装包,我的截屏是这样的:

出来中国那两个字起码我等待了2秒钟。

从现象上我不能确认是不是posframe。但是我用lazycat的“输入英文自动显示中文解释”功能时候,不能出现posframe的tooltip来显示中文解释。是不是在英译中的功能中posframe不能正常工作的话,那么pyim其作用的也不会是posframe吧?

首先确认你的emacs版本,26以上才能用

第二你这肯定不是posframe,默认posframe的弹窗是黑背景的。

如果你想用posframe,先装上26,然后从melpa安上posframe,再(setq pyim-page-tooltip 'posframe)

如果想用minibuffer显示候选词,试下把那属性设置为nil

2 个赞

pyim 只有在第一次加载的时候,会出现1-2秒的卡顿,因为需要加载词库缓存,其他时间一般不会卡的

我是26.1,posframe之前下载到~/emacs/elisp/目录中的,然后load-path了这个路径。

我看到这个变量的原来的值是popup。加入了你的这句 (setq pyim-page-tooltip 'posframe),就出来了,也就没有速度问题了。

不过字体有点小,可以调整吗?

然后我用(setq pyim-page-tooltip 'minibuffer)也就等于实现了我想要的功能了。谢谢!

按理说字体大小应该和正文的一样大小呀

嗯那,好奇怪,posframe中的字体以固定大小存在着,不论我把emacs的字体手动设置成多少.

24号如下:

18号如下:

1号如下:(它好执着啊哈哈哈) 29

难道是mac emacs的bug?

不是,我的挺正常

这个问题我也偶然碰到过,好像是频繁调整字体大小会触发,感觉是“posframe还是用了上一次的font size设置,新的设置没有影响posframe”这样

我也碰到了这个问题,不过我回想了一下字体设置,然后解决了。 请问你的字体设置是这样的吗?

(set-default-font "WenQuanYi Zen Hei Mono-14")

我在这样的字体设置下 posframe 的文字大小才有毛病。但是修改成:

(set-face-attribute 'default nil :family "WenQuanYi Zen Hei Mono" :height 150 )

posframe 的字体显示就正常了。 另外,我的 Emacs 版本是 26.3 .