RIME CONFIG GUIDE

RIME CONFIG GUIDE

十二月 25, 2021

/rime/build/ibus_rime.yaml

ibus-rime候选横竖列文件

/rime/default.custom.yaml

1
2
3
4
patch:
"menu/page_size": 7 #每页候选词个数
"ascii_composer/switch_key/Shift_L": commit_code #左shift提交字母
"style/horizontal": true # 候選橫排

/ibus/rime/luna_pinyin.custom.yaml

1
2
3
4
5
6
7
8
9
10
patch:
switches: # 注意縮進
- name: ascii_mode
reset: 0 # reset 0 的作用是當從其他輸入方案切換到本方案時,
states: [ 中文, 西文 ] # 重設爲指定的狀態,而不保留在前一個方案中設定的狀態。
- name: full_shape # 選擇輸入方案後通常需要立即輸入中文,故重設 ascii_mode = 0;
states: [ 半角, 全角 ] # 而全/半角則可沿用之前方案中的用法。
- name: simplification
reset: 1 # 增加這一行:默認啓用「繁→簡」轉換。
states: [ 漢字, 汉字 ]

weasel.custom.yaml

P站配色主题风格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
patch:
# rime输入法自定义P站配色风格主题
"style/layout/round_corner":5
"style/color_scheme"::p
"style/horizontal": true #横向排列
"preset_color_schemes/:p":
author:BLACK
name::p
back_color:0x000000
label_color:0xffffff
border_color:0x000000
text_color:0xffffff
hilited_text_color:0x000000
hilited_back_color:0x009bff
candidate_text_color:0xffffff
hilited_candidate_text_color:0x000000
hilited_candidate_back_color:0x009bff
comment_text_color:0xffffff
hilited_lable_color:0x000000
• 输入法代号:ibus-rime
• 用户资料夹: ~/.config/ibus/rime/
• 共享资料夹: /usr/share/rime-data/

共享资料夹包含预设输入方案的源文件。 这些文件属于 Rime 所发行软件的一部份,在访问权限控制较严格的系统上对用户是只读的,因此谢绝软件版本更新以外的任何修改—— 一旦用户修改这里的文件,很可能影响后续的软件升级或在升级时丢失数据。
在「部署 Rime」操作时,将用到这里的输入方案源文件、并结合用户定制的内容来编译预设输入方案。

「用户资料夹」数据说明

用户资料夹则包含为用户准备的内容

• 〔全局設定〕 default.yaml
• 〔發行版設定〕 ibus-rime.yaml
• 〔預設輸入方案副本〕 <方案标识>.schema.yaml ibus-rime.schema.yaml
• ※〔安裝信息〕 installation.yaml
• ※〔用戶狀態信息〕 user.yaml

编译输入方案所产出的二进制文件:

• 〔Rime 棱鏡〕 <方案标识>.prism.bin
• 〔Rime 固態詞典〕 <词典名>.table.bin
• 〔Rime 反查詞典〕 <词典名>.reverse.bin

记录用户写作习惯的文件

• ※〔用戶詞典〕 <词典名>.userdb.kct
• ※〔用戶詞典快照〕 <词典名>.userdb.txt、<词典名>.userdb.kct.snapshot 見於同步文件夾

用户自己设定的

• ※〔用戶對全局設定的定製信息〕 default.custom.yaml
• ※〔用戶對預設輸入方案的定製信息〕 <方案标识>.custom.yaml
• ※〔用戶自製輸入方案〕及配套的詞典源文件

注:以上标有 ※ 号的文件,包含用户资料,清理文件时要注意备份!

词库管理

  1. 导入搜狗词库:
    1. luna_pinyinn.sogou.dict.yaml
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      # Rime dictionary
      # encoding: utf-8
      ---
      name: luna_pinyin.sogou
      version: "2015.12.24"
      sort: by_weight
      use_preset_vocabulary: true
      import_tables:
      - luna_pinyin
      ...
      #######后面为词库内容#########
    2. luna_pinyin_simp.custom.yaml
      1
      translator/dictionary: luna_pinyin.sogou  #导入搜狗词库

2.特殊字符定义:

1
2
3
'recognizer/patterns/punct': "^/[a-z]*$"  #可以使symbols中的‘/hj’‘/fh’等命令
'punctuator/import_preset': symbols #将标点设置默认为'symbols.yaml'文件
"switches/@0/reset": 1 # 初始的 ascii mode 设置为「西文」
  1. 糢糊音定义:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    'speller/algebra':
    - erase/^xx$/ # 第一行保留
    # 模糊音定義
    # 需要哪組就刪去行首的 # 號,單雙向任選
    #- derive/^([zcs])h/$1/ # zh, ch, sh => z, c, s
    #- derive/^([zcs])([^h])/$1h$2/ # z, c, s => zh, ch, sh
    #- derive/^n/l/ # n => l
    #- derive/^l/n/ # l => n
    # 這兩組一般是單向的
    #- derive/^r/l/ # r => l
    #- derive/^ren/yin/ # ren => yin, reng => ying
    #- derive/^r/y/ # r => y
    # 下面 hu <=> f 這組寫法複雜一些,分情況討論
    #- derive/^hu$/fu/ # hu => fu
    - derive/^hong$/feng/ # hong => feng
    - derive/^hu([in])$/fe$1/ # hui => fei, hun => fen
    #- derive/^hu([ao])/f$1/ # hua => fa, ...
    #- derive/^fu$/hu/ # fu => hu
    - derive/^feng$/hong/ # feng => hong
    #- derive/^fe([in])$/hu$1/ # fei => hui, fen => hun
    #- derive/^f([ao])/hu$1/ # fa => hua, ...
    # 韻母部份
    #- derive/^([bpmf])eng$/$1ong/ # meng = mong, ...
    - derive/([ei])n$/$1ng/ # en => eng, in => ing
    - derive/([ei])ng$/$1n/ # eng => en, ing => in
    - derive/^un/iong/ # un => iong
    - derive/^iong/un/ # iong => un
    # 樣例足夠了,其他請自己總結……
    # 反模糊音?
    # 誰說方言沒有普通話精確、有模糊音,就能有反模糊音。
    # 示例爲分尖團的中原官話:
    #- derive/^ji$/zii/ # 在設計者安排下鳩佔鵲巢,尖音i只好雙寫了
    #- derive/^qi$/cii/
    #- derive/^xi$/sii/
    #- derive/^ji/zi/
    #- derive/^qi/ci/
    #- derive/^xi/si/
    #- derive/^ju/zv/
    #- derive/^qu/cv/
    #- derive/^xu/sv/
    # 韻母部份,只能從大面上覆蓋
    #- derive/^([bpm])o$/$1eh/ # bo => beh, ...
    #- derive/(^|[dtnlgkhzcs]h?)e$/$1eh/ # ge => geh, se => sheh, ...
    #- derive/^([gkh])uo$/$1ue/ # guo => gue, ...
    #- derive/^([gkh])e$/$1uo/ # he => huo, ...
    #- derive/([uv])e$/$1o/ # jue => juo, lve => lvo, ...
    #- derive/^fei$/fi/ # fei => fi
    #- derive/^wei$/vi/ # wei => vi
    #- derive/^([nl])ei$/$1ui/ # nei => nui, lei => lui
    #- derive/^([nlzcs])un$/$1vn/ # lun => lvn, zun => zvn, ...
    #- derive/^([nlzcs])ong$/$1iong/ # long => liong, song => siong, ...
    # 這個辦法雖從拼寫上做出了區分,然而受詞典制約,候選字仍是混的。
    # 只有真正的方音輸入方案纔能做到!但「反模糊音」這個玩法快速而有效!
    # 模糊音定義先於簡拼定義,方可令簡拼支持以上模糊音
    - abbrev/^([a-z]).+$/$1/ # 簡拼(首字母)
    - abbrev/^([zcs]h).+$/$1/ # 簡拼(zh, ch, sh)
    # 以下是一組容錯拼寫,《漢語拼音》方案以前者爲正
    - derive/^([nl])ve$/$1ue/ # nve = nue, lve = lue
    - derive/^([jqxy])u/$1v/ # ju = jv,
    - derive/un$/uen/ # gun = guen,
    - derive/ui$/uei/ # gui = guei,
    - derive/iu$/iou/ # jiu = jiou,
    # 自動糾正一些常見的按鍵錯誤
    - derive/([aeiou])ng$/$1gn/ # dagn => dang
    - derive/([dtngkhrzcs])o(u|ng)$/$1o/ # zho => zhong|zhou
    - derive/ong$/on/ # zhonguo => zhong guo
    - derive/ao$/oa/ # hoa => hao
    - derive/([iu])a(o|ng?)$/a$1$2/ # tain => tian
    # 分尖團後 v => ü 的改寫條件也要相應地擴充:
    #'translator/preedit_format':
    # - "xform/([nljqxyzcs])v/$1ü/"