选单应该可以用,我试试 emacs -q
,再不行就提个 issue
如果你不是用 straight 的话,项目目录下执行 make test 可以方便的启动 emacs -Q 。
emacs -q
测试了一下,貌似是 rime 的配置问题,换 mac rime 的配置是可以用的
找不到配置错在哪里,尴尬,不过直接把配置换了就好了。
rime-sync
现在会在 rime 配置的目录下生成一个 sync 文件夹,能够加一个配置,把这个文件夹的位置自定义一下吗?
我看是直接调的 C 的 lib 了
可以在 installation.yaml
里设置sync_dir:
请教一下: 在这个gif图中,第一行rime前后自动切换好理解,检测到空格就自动切换了是吧? 但是,同样的规则的话,第二行 auto switch,你如何做到在auto 和 switch之间不自动切换到中文输入法的呢?
这和 emacs-rime 无关,是 rime 的功能,正如上面这位仁兄解释的,如果没有在 installation.yaml 里指定 sync_dir 的话,就会在rime的用户目录里新建一个sync目录。你在系统rime执行一下“同步用户数据”应该也会有一样的表现。
参见文档中的 inline ascii 模式。
如图简单配置,编译没报错。系统上选择鼠须管输入法,在当前buffer激活rime-mode,打字没反应,反应的还是系统的鼠须管。激活rime-active-mode,一样的反应,而且退格键和return键不可用,打词或连打都只能上屏首个字。
系统:macos 10.15 emacs:emacs-mac 26.3
麻烦大佬看看,谢谢!
rime-mode 和 rime-active-mode 都不是用来手工激活的。正确的做法是激活 emacs 内的输入法。
默认的快捷键是 C-\。
我就猜到是激活的问题,还没用过emacs的输入法,不知道有c-\。真的帅,谢谢!
我仔细查看了一下, 不知道哪些predicate的组合可以达到这个效果, 还请指点。
一共有两个变量,分别是 rime-disable-predicates 和 rime-inline-predicates.
我自己的配置是这样的
rime-disable-predicates 断言成立关闭输入法
user/rime-predicate-not-in-insert-mode
针对自己的模式编辑的断言 ,如果你用 evil 的话,使用内置的 rime-predicate-evil-mode-p
rime-predicate-prog-in-code-p
在写代码的 major mode 里面,光标在代码中(即除了注释和字符串)
rime-predicate-after-alphabet-char-p
光标在英文字母的后面
rime-inline-predicates 断言成立进入 inline ascii 模式
rime-predicate-space-after-cc-p
光标在一个中文+空格的后面
rime-predicate-current-uppercase-letter-p
光前的输入字符是大写字符
user/rime-predicate-is-back-quote-or-tilde
自己写的,光标在 ` 或 ~ 后面
更复杂的用法可以参考比如
超级强大和灵活
但是我在脑子中过了一下,还是没有明白gif图中的机制。
-
rime-predicate-space-after-cc-p
从中文切换到英文, 这一条在rime
行和auto switch
行都引起了自动切换到英文。 -
rime
后面如何自动切换成中文的,你这里的配置看不出来。 像是有个space-after-alphabet
的东西。 - 如果有
space-after-alphabet
引起的切换到中文, 那么在auto switch
行的auto
之后就已经自动切换到中文了。
断言是单向的,逻辑上不是中英互切,而是成立时关闭/inline ascii,不成立即是中文。
其实还可以添加一个处理接口,就是对词条动态排序,根据当前环境,对词条排序,也许会得到更加智能的输入法
好的。不成立的时候就输入中文。
在 " 使用 rime ^那么",这里,因为不成立,所以输入中文。
但在"auto ^switch"里面,又触发了那一条呢? 这三条都不满足啊:
rime-predicate-space-after-cc-p
rime-predicate-current-uppercase-letter-p
user/rime-predicate-is-back-quote-or-tilde
这不是手动切换到 inline ascii mode 吗?
请注意,在进入 inline_ascii 后,除按回车外,任何字符都会作为英文字符原样输出,直至回车后上屏,再继续断言判断逻辑。