iDvel/rime-ice

常见问题

iDvel opened this issue · 25 comments

iDvel commented

修改配置

直接修改

直接在文件上修改,这样修改也简单,适合初次尝试。

补丁

打补丁的方式来覆盖原配置的选项,不修改仓库中已有的文件,这样可放心全量拉取更新,通过 plum 或 git pull 时不用担心由于更新文件导致自定义的配置被覆盖。


常见问题

配置出错

如果缩进错误,或用了 Tab,可能部署时并不会报错,而是自动加载默认配置。

如果发现方案选单里是朙月拼音,打的是繁体,那可能是配置有问题,Rime 自动加载了默认配置,检查一下修改过的地方。

配置错误也可能导致 default.yaml 文件被移入 trash/ 目录,你需要移动回来,改好后重新部署,然后可以直接删除 trash/ 目录。

中英文、大小写切换

Shift 是否切换中英,切换时的行为等等,参考 default.yamlascii_composer 下的详细注释。

修改标点符号映射

默认反引号没有改成间隔号,有需要可以输入「点」和「间隔号」。

标点符号相关配置在 default.yaml 中定义,再在多个方案中引用。

皮肤横向竖向排列

皮肤配置不通用,要参考各前端自己的配置方式。

小狼毫由 style/horizontal 属性决定:

patch:
  "style/horizontal": true  # true 横向 | false 竖向

鼠须管的 horizontal 属性已经弃用,在 squirrel.yaml 皮肤的选项中使用以下两个属性:

preset_color_schemes:
  皮肤名:
    candidate_list_layout: stacked  # stacked | linear  候选项排列方向
    text_orientation: horizontal    # horizontal | vertical  文字排列方向

⚠️ 注意具体皮肤的优先级比 style 的高。

鼠须管效果展示:

图片

自定义短语

自定义短语用 Tab 分割词汇、编码、权重。

custom_phrase.txt 中是我自己的习惯,仅供参考,这个每个人的习惯都不一样,可以换成自己的。

可以新建一个文件,并在方案的 custom_phrase/user_dict: 下指定使用哪个文件。

**繁体

默认 OpenCC 的选项 traditionalize/opencc_config: s2t.json 是香港繁体。

**繁体有以下两种方式供参考,先修改为 s2tw.json

  • 参考 #291,修改 opencc
  • 参考 #575,补加一个 t2tw
    (因为不知道什么原因,s2tw.json 选项并没有真正转换为**繁体,所以又补了一个 t2tw.json
    (librime 1.10 已修复,新版本不再需要折腾了。)

颜文字

没有加入颜文字 #462,少数颜文字可以直接用 OpenCC 或自定义短语实现,常用的用户可以参考 #463

Linux (iBus & Fcitx & Fcitx5)系统无候选 / Lua 无法引入 / 雾凇拼音候选后出现拼音注释等

请输入 rq(双拼是 date),如若没有出现当前日期,则表示 Lua 没有成功加载,您就可能遇到上述问题。

  • 若使用 fcitx5 + Fedora 等红帽发行版,请考虑使用 Flatpak ,其他 Linux 系也可以考虑此方案,参考 Fcitx5 官方 wiki
  • 若使用 fcitx5 框架,请保证安装的是 fcitx5-rime 而非 fcitx-rime
  • 若使用 fcitx 框架,请改用其继承者 fcitx5
  • 若使用 ibus 框架,ibus-rime + Debian 12.5 经测试无问题。但若出现意外,可以考虑使用 Appimage,以跟进 librime 更新。

请参考: #840

添加或修改 Lua

做好自己的 Lua 放在 lua/ 文件夹内,使用新版 librime-lua 引入模块的方式,不用修改 rime.lua

- lua_translator@*my_translator  # 多了一个星号

比如想将自己修改后的 new_date_translator.lua 替换掉 date_translator

# 方式一、复制完整的 translators 的内容过来
patch:
  engine/translators:
    # 。。。
    - lua_translator@*new_date_translator  # 将此处替换为自己的 Lua
    # 。。。

# 方式二、仅替换修改项,但依赖于原始排序(从 0 开始数),如果排序变动就替换错了
patch:
  engine/translators/@2: lua_translator@*new_date_translator

双拼

双拼的自定义短语文件默认为 custom_phrase_double.txt,需要手动创建。

英文方案 melt_eng.schema.yaml 中有一些不通用的派生规则,默认启用的是全拼的。

部件拆字方案 radical_pinyin.schema.yaml 的反查和辅码,有一些不通用的派生规则,默认启用的是全拼的。

双拼是显示全拼编码还是双拼编码?比如小鹤双拼输入 zz 时,是显示 zz 还是 zou,默认是转换为全拼编码。translator 下的 preedit_format 属性会影响输入框和 Shift+回车 时的显示,删除这部分就不转换。

双拼的补丁示例

除直接修改外,也可以打补丁,可以直接用 plum 自动打补丁,也可以手写,下面以小鹤双拼方案 double_pinyin_flypy.schema.yaml 为例。

  1. 创建 melt_eng.custom.yaml 修改英文派生规则:
patch:
  # 修改为小鹤双拼的拼写派生规则,因为不在同一个文件了,前面要加上文件名
  speller/algebra:
    __include: melt_eng.schema.yaml:/algebra_flypy
  1. 创建 radical_pinyin.custom.yaml 修改反查及辅码派生规则:
patch:
  # 修改为小鹤双拼的拼写派生规则,因为不在同一个文件了,前面要加上文件名
  speller/algebra:
    __include: radical_pinyin.schema.yaml:/algebra_flypy
  1. (按需选择)创建 double_pinyin_flypy.custom.yaml
patch:
  # (按需选择)清空 preedit_format 中的内容,输入时显示双拼编码
  translator/preedit_format: []

全拼双拼混输

参考:https://dvel.me/posts/rime-full-pinyin-double-pinyin-mixed-input/

补充一个FAQ:
问:如果通过Gnome Tweaks将Caps Lock变成了Ctrl,在按Caps Lock时会将输入法变回英文状态,该怎么调整?
答:在Tweaks中通过Ctrl position => Caps Lock as Ctrl来设置Caps Lock的行为。如果使用Caps Lock behavior => Make Caps Lock an additional Ctrl就会产生按Caps Lock时输入法变回英文状态的问题。

或者直接安装另一个已经更新了 librime 且支持彩色 Emoji 的 fork: https://github.com/fxliang/weasel

您好,除了安装上述版本之外,有没有通过打补丁的方法使得原版Weasel支持彩色emoji的方案呢?主要不是为了显示彩色,而是对于1️⃣这种emoji权重高,显示的问题也比较大,观感十分难受。起初还以为是bug,后来发现是Emoji。😅

iDvel commented

除了安装上述版本之外,有没有通过打补丁的方法使得原版Weasel支持彩色emoji的方案呢?

靠配置无法解决,不需要的话可以关掉 Emoji。

请问关闭 emoji 应该怎么处理?

iDvel commented

请问关闭 emoji 应该怎么处理?

临时关闭:通过方案选单选择。
永久关闭:在方案的 switches 下的 Emoji 那里,把 reset 改成 0,以后可以通过方案选单临时打开。
切换后可记住:注释掉 reset,通过方案选单切换一次,就永久记住了。

请问怎么像显示emoj一样显示颜文字(多个同义词对应到一个emoj)?

iDvel commented

请问怎么像显示emoj一样显示颜文字(多个同义词对应到一个emoj)?

和 Emoji 的写法一样,参考 opencc/ 文件夹中的样子,比如目前只有一个「掀桌子」。
但是在这个写法中,空格被作为分隔符了,而颜文字里有很多都有空格。

Emoji 的 Reset 值是否可以通过创建 rime_ice.schema.custom.yaml 写入 patch 来固定修改,以防止未来更新时被覆盖?

尝试编写以下 patch,但似乎没有效果:

patch:
  switches:
    - name: emoji
      states: [ 💀, 😄 ]
      reset: 0
iDvel commented

Emoji 的 Reset 值是否可以通过创建 rime_ice.schema.custom.yaml 写入 patch 来固定修改,以防止未来更新时被覆盖?

是有效果的,但这样你的开关将只有 emoji,打开方案选单可以看到。
正确的应该这样写:

patch:
  switches/@3:
    name: emoji
    states: [ 💀, 😄 ]
    reset: 0

但以后要是更改了顺序,它可能就不在第 3 个索引了,或者全部复制 switches 过来再修改也行。

试了一下,好像 rime_ice.schema.custom.yaml 是不行的,得写入到 rime_ice.custom.yaml 才能让这段生效。
这一点和 default.custom.yaml 不一样。

tksmly commented

小狼毫,win 11 已经在配置文件double_pinyin_flypy.custom下添加了

patch:
  translator/preedit_format: []

但是并没有实现双拼上屏,显示仍然是全拼。

新开issue,别在这说

如何在中英文混合输入时,自动个英文前后加入空格。

太有用了,最大的帮助是解决了候选字词横竖展示的问题,原来是弃用了老早以前的设置改用新的了,感谢作者辛苦维护。

我想问个问题,rime-ice支持英文输入的补全吗?就像中文那样

我想问个问题,rime-ice支持英文输入的补全吗?就像中文那样

goog → Google 这种是支持的,造句不支持。

我想问个问题,rime-ice支持英文输入的补全吗?就像中文那样

goog → Google 这种是支持的,造句不支持。

请问如何开启?切换到英文输入模式后,就完全没有输入框了。

请问如何开启?切换到英文输入模式后,就完全没有输入框了。

不是英文状态下的功能,目前是将英文挂载到拼音方案来使用的,你看 README.md 里的示例和这里 https://dvel.me/posts/make-rime-en-better/

请问如何开启?切换到英文输入模式后,就完全没有输入框了。

不是英文状态下的功能,目前是将英文挂载到拼音方案来使用的,你看 README.md 里的示例和这里 https://dvel.me/posts/make-rime-en-better/

我可以设置一个只有英文补全的单独模式吗?

可以,在 default.yaml 的方案列表中启用英文方案,然后切换到这个方案就行了。
那你其实可以用 https://github.com/BlindingDark/rime-easy-en 的,支持语句流;或者直接换个输入法,例如这个很好用的哈利路亚输入法

可以,在 default.yaml 的方案列表中启用英文方案,然后切换到这个方案就行了。 那你其实可以用 https://github.com/BlindingDark/rime-easy-en 的,支持语句流;或者直接换个输入法,例如这个很好用的哈利路亚输入法

感谢回答,我把melt_eng设为一个单独的模式加入到列表里面,现在就能补全了,非常感谢🙏