iDvel / rime-ice

Rime 配置:雾凇拼音 | 长期维护的简体词库

Home Page:https://dvel.me/posts/rime-ice/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

常见问题

iDvel opened this issue · comments

commented

⚙️修改配置

直接修改

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

补丁

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


❓常见问题

xx 字打不出来 / xx 读音没有

可能为生僻字,请尝试开启大字表。若确实为常用字(如常见于人名、物品名、术语),请 PR 或在 #666 补充。

部分候选项变成豆腐块、方块、问号

系统缺少相关字体导致。请尝试下载或更换显示字体。

关于部分生僻字,参考 #841 的推荐。

Windows 10 平台部分 Emoji 用系统默认字体无法显示,请尝试下载 Noto Color Emoji 或用 Windows 11 Emoji 字体替换。

配置出错

如果缩进错误,或用了 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

日志中的常见 WARNING

WARNING 日志仅为警告,一般可以忽视。ERROR 文件若有日志,则需要留神。

accessing blocking node with unresolved dependencies:

这是因为 melt_eng 和 radical_pinyin 引用了自身的节点,RIME build 时认为这可能会导致引用了一个未编译完成的文件,因而抛出警告。无视即可。

duplicate definition:

因为某些词典有重复的条目,build 时 RIME 认为这可能会造成编码和权重的覆写,因而抛出警告,无视即可。


⌨️双拼

双拼的自定义短语文件默认为 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时输入法变回英文状态的问题。

commented

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

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

commented

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

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

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

commented

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

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

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

commented

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

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

commented

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

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

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

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

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

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

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

commented

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

commented

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

patch:
  translator/preedit_format: []

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

新开issue,别在这说

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

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

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

commented

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

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

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

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

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

commented

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

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

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

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

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

commented

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

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

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

我是从拼音加加转过来的,习惯用左右shift键来让2,3选词上屏。但无论在default.yaml还是在default.custom.yaml中修改都没有效果,能麻烦指出是在哪里修改吗?或者是和什么设定冲突,我的修改如下:
#快捷键
key_binder/bindings/+:
- { when: has_menu, accept: Shift_L, send: 2 } # 选第二个候选上屏
- { when: has_menu, accept: Shift_R, send: 3 } # 选第三个候选上屏。
谢谢

我也是以前一直使用拼音加加的,可以参考一下我在default.custom.yaml中的配置如下(缺点是:不能方便地进行中英文混合输入了,一旦想按住shift来输入大写字母,总是触发选字,希望有大侠可以帮忙改进一下)。

patch:
schema_list:
- {schema: rime_ice}
- {schema: double_pinyin_flypy}
- {schema: melt_eng}

key_binder/bindings/+:
# 添加 , 和 . 翻页
- { when: paging, accept: comma, send: Page_Up }
- { when: has_menu, accept: period, send: Page_Down }
# 使用左右shift来选择第2、3候选字
- { when: has_menu, accept: "Shift+Shift_L", send: 2 }
- { when: has_menu, accept: "Shift+Shift_R", send: 3 }

# 使用 CTL 来切换中西文
"ascii_composer/switch_key":
Caps_Lock: clear
Control_L: commit_code
Control_R: commit_code
Eisu_toggle: clear
Shift_L: noop
Shift_R: noop

我是从拼音加加转过来的,习惯用左右shift键来让2,3选词上屏。但无论在default.yaml还是在default.custom.yaml中修改都没有效果,能麻烦指出是在哪里修改吗?或者是和什么设定冲突,我的修改如下: #快捷键 key_binder/bindings/+: - { when: has_menu, accept: Shift_L, send: 2 } # 选第二个候选上屏 - { when: has_menu, accept: Shift_R, send: 3 } # 选第三个候选上屏。 谢谢

昨天更新词库发现打字的时候会在候选词后面显示拼音
昨晚我只更新dicts lua opencc这三个文件夹的内容
请问应该在哪里修改设置关闭一下?奇怪我也没有动其他输入法相关的配置文件

昨天更新词库发现打字的时候会在候选词后面显示拼音 昨晚我只更新dicts lua opencc这三个文件夹的内容 请问应该在哪里修改设置关闭一下?奇怪我也没有动其他输入法相关的配置文件

schema 太旧了。
参考 #819
https://github.com/iDvel/rime-ice/releases/tag/2024.05.21

昨天更新词库发现打字的时候会在候选词后面显示拼音 昨晚我只更新dicts lua opencc这三个文件夹的内容 请问应该在哪里修改设置关闭一下?奇怪我也没有动其他输入法相关的配置文件

schema 太旧了。 参考 #819 https://github.com/iDvel/rime-ice/releases/tag/2024.05.21

好的,实在是感谢,我直接去完整升级一次

请问能否修改配置达到这样的效果,所有窗口共享一个中英文输入状态,系统的“允许我为每个应用窗口使用不同的输入法”不管用,RIME那边我也没找到相应的配置

请问能否修改配置达到这样的效果,所有窗口共享一个中英文输入状态,系统的“允许我为每个应用窗口使用不同的输入法”不管用,RIME那边我也没找到相应的配置

weasel有专门的设置项,weasel.yaml文件中修改global_ascii: true

请问能否修改配置达到这样的效果,所有窗口共享一个中英文输入状态,系统的“允许我为每个应用窗口使用不同的输入法”不管用,RIME那边我也没找到相应的配置

weasel有专门的设置项,weasel.yaml文件中修改global_ascii: true

谢谢,解决了

请问能否修改配置达到这样的效果,所有窗口共享一个中英文输入状态,系统的“允许我为每个应用窗口使用不同的输入法”不管用,RIME那边我也没找到相应的配置

weasel有专门的设置项,weasel.yaml文件中修改global_ascii: true

还是有问题,我想实现的功能是无论新开窗口还是已打开的窗口都设置为当前我输入的中英文状态,您说的这个方法只能适用于已经打开的窗口,假如我当前设置为英文输入,新打开的窗口默认还是中文状态,能让新打开的窗口保持我当前的中英文状态不变吗?

我的设想是,拼音如朙月拼音正常出字,如果有需要,则光标定位到需要修改的字继续输入该字的辅助码。在**方案.custom添加:
以下一组添加时间、日历和星期
"engine/translators/+":
- script_translator@luna_pinyin_stroke

luna_pinyin_stroke:
dictionary: luna_pinyin_stroke
prism: luna_pinyin
prefix: P
db_class: stabledb
suffix: ;
tag: luna_pinyin_stroke
closing_tips: 【笔画】
initial_quality: 0.2
recognizer: # 定义识别码的正则表达式规则
patterns:
……
luna_pinyin_stroke: "P[abcdefghi jkmnopqrestuwxyz]*'?$"
然后部署,没有生效,请问什么原因呢?