欢迎尝试 emacs-rime,计划中功能已全部完成。

首先是测试 ShiftL 是不是真的能在 (系统的)Rime 中激活 inline ascii。

然后在 emacs-rime 当中,这个 inline ascii 是要通过断言自动激活的,通过 rime-inline-ascii-predicates。 这里有问题的话,可能需要贴一下 这个变量和 rime-disable-predicates 的值。

系统中是有效的,没有找到这个变量rime-inline-ascii-predicates呢?

  • rime-inline-predicates is nil.
  • rime-inline-ascii-trigger is shift-l.
  • rime-disable-predicates is (rime-predicate-after-alphabet-char-p rime-predicate-prog-in-code-p)

我说错了,就是 rime-inline-predicates

在输入法不被 disable (通过 rime-disable-predicates) 的情况下,如果 rime-inline-predicates 成立,就会进入 inline ascii 模式。

所以像 rime-predicate-prog-in-code-p 可以放在 rime-disable-predicates 中。因为在代码中总是直接输入英文。

而其它的断言,可以放在 rime-inline-predicates 中,比如 rime-predicate-space-after-cc-p, rime-predicate-current-uppercase-letter-p.

贴个我自己的参考。

(rime-disable-predicates '(rime-predicate-prog-in-code-p // 代码中直接关闭
                           rime-predicate-after-alphabet-char-p))   // 紧跟英文后面直接关闭
(rime-inline-predicates '(rime-predicate-space-after-cc-p // 中文接一个空格的后面
                          rime-predicate-current-uppercase-letter-p)) // 当前输入是大写字母的时候

这个简单的配置应该很容易适应。

4 个赞

这个配置可以工作了,谢谢。

1 个赞

今天Windows10下尝试安装emacs-rime,可以使用了,不过有个小问题请教一下各位大佬。 rime 会将繁体和简体一起显示出来,而且繁体的优先级很高。

luna_pinyin_simp?

这应该和系统的 rime 配置有关,你可以把系统 rime (小狼毫)的 user data 目录拷贝到 emacs-rime 的 user-data 目录里,这样配置就和系统一致了。

我是直接拷贝的系统下面%appdata%/Rime 中的配置到emacs-rime作为rime-user-data-dir,
另外拷贝了小狼豪安装目录/data文件夹 作为rime-share-data-dir

在Mac 下这样的设置可以正常,直接和系统一致了。但Windows下会产生混淆。我再仔细看看rime的配置。

我用的是luna_pinyin的方案,在系统里都是好的,只显示简体。

那就试试修改下 rime-share-data-dir 里的方案设置吧。

http://wenshanren.org/?p=1070#orgc7dbd8e

http://wenshanren.org/?p=1070#orgc7dbd8e

上面的几个方法都设置过了,还是不行啊。
会不会是librime的问题?
我偷懒直接用的别人编译好的librime.dll ,加上 rime_api.h, rime_levers_api.h ,然后用一下命令编译的emcas-rime.dll

gcc lib.c -o librime-emacs.dll -O2 -shared -I. -I/path/to/emacs/include -L. -llibrime

难道是缺少 opencc ?

暂时缓缓吧,过一段时间 liberime 就入 msys2 了,到时候安装就简单了

1 个赞

msys2的审核有点慢啊,都过去快20天 了,还没动静。

1 个赞

已经合并了,不过不知道什么时候能入库,在排队中。。。。

3 个赞

问题找到了。是因为我用了系统自带opencc文件夹。
应该使用librime编译文件夹里面的。原来这个opencc文件夹的格式是不一样的。 终于可以在Windows下体验emacs-rime了,好棒 :+1:

1 个赞

windows要不要试试从master或者native-comp分支上编译emacs,最新的代码有w32-get/set-ime-open-status函数,可以控制输入法切换。

rime的日志全部输出到了终端是怎么回事?这时如果是终端下的emacs会把ui都打乱掉

WARNING: Logging before InitGoogleLogging() is written to STDERR