【輸入法】Rime-中州韻 基本設置 附:官方定製指南

前言

不知不覺就到了年終了,距離上次更新博客已經有一個半月,這段時間每天在加班,也沒做一下新的學習計劃,趁着元旦放假,寫一點好玩的東西,此次要記錄的是一點關於Rime相關的東西,文章自己不會長,只是說一點平時比較好用的設置,爲了方便查閱,文末貼上定製指南html

本文內容

基於上一篇「簡記」 Linux安裝五筆輸入法,包含arch和debian系的基礎上安裝好Rime,本文要記錄的是設置幾個實用的快捷鍵功能,順便搬運來一些Rime的設置,你們有興趣能夠跟着本文設置玩玩。linux

FBI WARNING: 經本人血淚測試,linux下的rime都不能使用自定義皮膚,受制於ibus與fcitx,若是看到這條提示,請不要折騰自定義rime的皮膚,想辦法看看ibus和fcitx怎麼修改皮膚纔是王道!git

本文刪除中州韻無關的配置,基本已經從新寫了github

最後更新日期:2019.06.04bash

正文

Linux下的ibus-rime和fcitx-rime並稱爲中州韻,相比win下的小狼毫和mac下的鼠筆管,相差的就是不能經過rime的配置文件來定製皮膚,由於rime在linux下都是外掛在輸入框架上的。框架

說完名稱意思,我們再來看看配置文件不一樣位置的說明:ide

/usr/share/rime-data:此目錄爲rime輸入方案的數據源(差很少這意思)post

~/.config/ibus/rime~/.config/fcitx/rime:這裏是配置文件最終生效的地方學習

配置文件的加載流程:測試

  • ibus啓動
  • rime啓動 開始去.config/ibus/rime.config/fcitx/rime 下去查看 default.yaml是否存在,存在就使用這個文件進行配置
  • 若是上邊沒有找到default.yaml則去/usr/share/rime-data中取回全部默認配置
  • 而後查找是否有自定義配置,若是有,就在默認的基礎上打補丁,使自定義配置添加入default.yaml
  • 啓動完成,配置生效

其中,.config/ibus/rime.config/fcitx/rime 會有幾個文件比較特殊這裏說明下,

  • default.yaml:這裏最後的部署整合到一塊兒的配置文件,不要在這裏寫配置
  • default.custom.yaml: 在這個文件中,咱們能夠建立自定義的全局配置,須要本身建立
  • installation.yaml:安裝時自動建立的配置文件
  • 輸入方案名.schema.yaml:輸入方案的默認配置文件
  • 輸入方案名.custom.yaml: 僅對指定輸入方案的配置進行修改的配置文件
  • 其他的均爲輸入方案生成的,能夠無論
  • symbols.yaml:這個文件是符號相關的設置

看了上邊的配置是否是已經有點明白了,本人不才,想很久纔回過味來。。。

這裏推薦你們都使用本身的配置文件,不要去修改默認的配置文件,這樣一來能夠方便之後重裝系統後配置文件還能用,另外一方面方便管理,也不會從新部署後被默認配置文件給覆蓋掉

這裏就不賣關子了,直接放出個人五筆配置文件,方便你們使用,配置的東西很少,你們按需使用

# wubi custom rime settings
# author: hellxz
# date: 2019-06-04
# 因爲本人只用五筆,全部的配置都是和五筆相關的,你能夠把這部分拆成兩個配置文件
# -schema以上都是default.custom.yaml中,下邊的在前邊加上patch:放到wubi86.custom.yaml中便可
# 注:patch加載優先級較高
patch:
  schema_list:        #輸入方案列表
    - schema: wubi86  #當前選中的輸入方案
  key_binder:         #按鍵綁定
    bindings:
      - {accept: semicolon, send: 2, when: has_menu}  #打字時,冒號選中第2個候選字發送
      - {accept: apostrophe, send: 3, when: has_menu} #打字時,引號選中第3個候選字發送
      - { accept: minus, send: Page_Up, when: paging} #減號向前翻頁
      - { accept: equal, send: Page_Down, when: has_menu} #等於號向後翻頁
  speller:                 #拼寫時選項
    max_code_length: 4     #最大輸入四碼
    auto_select: true      #自動上屏
    auto_select_unique_candidate: true  #惟一字自動提交

保存設置,點部署。若是配置沒有生效,請刪除default.yaml,並在命令行輸入ibus-daemon -drx

若是沒有這個文件,多是沒有安裝librime-data-wubi,使用命令自行安裝便可

sudo apt-get install librime-data-wubi

固然了,不止是五筆,Rime支持不少輸入法,你們能夠參考設置

  1. 導入詞庫

發現已經有人寫了,直接貼地址Rime中州韻導入QQ五筆詞庫

附:

Rime 定製指南

必知必會

建議您在定製 Rime 輸入法以前瞭解 Rime 輸入方案的概念、Rime 中的數據文件分佈及做用等基礎知識。

必知必會

從新佈署的操做方法

  • 【中州韻】點擊輸入法狀態欄上的 ⟲ (Deploy) 按鈕 或:若是找不到狀態欄,在終端輸入如下命令,可觸發自動部署:

    rm ~/.config/ibus/rime/default.yaml; ibus-daemon -drx
  • 【小狼毫】開始菜單→小狼毫輸入法→從新佈署;當開啓託盤圖標時,右鍵點選「從新佈署」

  • 【鼠鬚管】在系統語言文字選單中選擇「從新佈署」

對設置的修改於從新佈署後生效。編譯新的輸入方案須要一段時間,此間若無法輸出中文,請稍等片刻。

若部署完畢後,能夠通過 Ctrl+` 喚出方案選單,輸入方案卻仍無法正常使用,多是輸入方案未部署成功。請查看日誌文件定位錯誤。

查閱 DIY 處方集

已將一些定製 Rime 的常見問題、解法及定製檔鏈接俱收錄於下文的〔DIY 處方集〕

設定項速查手冊

雪齋的文檔 全面而詳細解釋了輸入方案及詞典中各設定項的含義及用法。

定製指南

Rime 輸入方案,將 Rime 輸入法的設定整理成完善的、可分發的形式。 但並非必定要創做新的輸入方案,才能夠改變 Rime 的行爲。

當用戶須要對 Rime 中的各種設定作小幅的調節,最直接、但不徹底正確的作法是:編輯用戶資料夾中那些 .yaml 文檔。

這一方法有弊端:

  • 當 Rime 軟件升級時,也會升級各種設定檔、預設輸入方案。用戶編輯過的文檔會被覆寫爲更高版本,所作調整也便丟失了。
  • 即便在軟件升級後再手動恢復經過編輯的文件,也會因設定檔的其餘部分未獲得更新而失去本次升級新增和修復的功能。

所以,對於隨 Rime 發行的設定檔及預設輸入方案,推薦的定製方法是:

創建一個文件名的主體部份(「.」以前)與要定製的文件相同、次級擴展名(「.yaml」以前)爲 .custom 的定製文檔:

patch:
  "一級設定項/二級設定項/三級設定項": 新的設定值
  "另外一個設定項": 新的設定值
  "再一個設定項": 新的設定值
  "含列表的設定項/@n": 列表第n個元素新的設定值,從0開始計數
  "含列表的設定項/@last": 列表最後一個元素新的設定值
  "含列表的設定項/@before 0": 在列表第一個元素以前插入新的設定值(不建議在補靪中使用)
  "含列表的設定項/@after last": 在列表最後一個元素之後插入新的設定值(不建議在補靪中使用)
  "含列表的設定項/@next": 在列表最後一個元素之後插入新的設定值(不建議在補靪中使用)

就是這樣:patch 定義了一組「補靪」,以源文件中的設定爲基礎,寫入新的設定項、或以新的設定值取代現有設定項的值。

不懂?那看我來示範。

一例、定製每頁候選數

Rime 中,默認每頁至多顯示 5 個候選項,而允許的範圍是 1〜9(個別 Rime 發行版可支持10個候選)。

設定每頁候選個數的默認值爲 9,在用戶目錄創建文檔 default.custom.yaml

patch:
  "menu/page_size": 9

從新佈署便可生效。

〔注意〕 若是 default.custom.yaml 裏面已經有其餘設定內容,只要以相同的縮進方式添加 patch: 如下的部分,不可重複 patch: 這一行。

若只須要將獨孤一個輸入方案的每頁候選數設爲 9,以【朙月拼音】爲例,創建文檔 luna_pinyin.custom.yaml 寫入相同內容,從新佈署便可生效。

註:請參閱前文「從新佈署的操做方法」★

一例、定製標點符號

有的用家習慣以 / 鍵輸入標點「、」。

仍以【朙月拼音】爲例,輸入方案中有如下設定:

# luna_pinyin.schema.yaml
# ...

punctuator:
  import_preset: default

解釋:

punctuator 是 Rime 中負責轉換標點符號的組件。該組件會從設定中讀取符號映射表,而知道該作哪些轉換。

punctuator/import_preset 是說,本方案要繼承一組預設的符號映射表、要從另外一個設定檔 default.yaml 導入。

查看 default.yaml ,確有以下符號表:

punctuator:
  full_shape:
    # ……其餘……
    "/" : [ /, "/", ÷ ]
    # ……其餘……
  half_shape:
    # ……其餘……
    "/" : [ "/", /, ÷ ]
    # ……其餘……

可見按鍵 / 是被指定到 "/", /, ÷ 等一組符號了。 並且全角和半角狀態下,符號有不一樣的定義。

欲令 / 鍵直接輸出「、」,可如此定製 luna_pinyin.custom.yaml:

patch:
  punctuator/full_shape:
    "/" : "、"
  punctuator/half_shape:
    "/" : "、"

以上在輸入方案設定中寫入兩組新值,合併後的輸入方案成爲:

# luna_pinyin.schema.yaml
# ...

punctuator:
  import_preset: default
  full_shape:
    "/" : "、"
  half_shape:
    "/" : "、"

含義是、在由 default 導入的符號表之上,覆寫對按鍵 / 的定義。

通過這種方法,既直接繼承了大多數符號的默認定義,又作到了局部的個性化。

使用全套西文標點

有些用戶習慣在中文裏使用ASCII標點,那麼與其一個一個覆寫,不如 整套都換掉

取得這份設定檔—— Rime 別樣設定,使用西文標點 在用戶資料夾保存爲 alternative.yaml

再將輸入方案中的「導入 default 設定」通過打 patch 替換爲「導入 alternative 設定」

# luna_pinyin.custom.yaml

patch:
  'punctuator/import_preset': alternative

就換上了本身習慣的一套標點!

一例、定製簡化字輸出

注意:

  • 若是您只是須要 Rime 輸出簡化字,敲 Ctrl+` 組合鍵、從菜單中選擇「漢字→漢字」便可!
  • 本例說明瞭其中原理,以及通過設定檔修改預設輸出字形的方法。

Rime 預設的詞彙表使用傳統漢字。 這是因爲傳統漢字較簡化字提供了更多信息,作「繁→簡」轉換能夠保證較高的精度。

Rime 中的過濾器組件 simplifier,完成對候選詞的繁簡轉換。

# luna_pinyin.schema.yaml
# ...

switches:
  - name: ascii_mode
    reset: 0
    states: [ 中文, 西文 ]
  - name: full_shape
    states: [ 半角, 全角 ]
  - name: simplification    # 轉換開關
    states: [ 漢字, 漢字 ]

engine:
  filters:
    - simplifier  # 必要組件一
    - uniquifier  # 必要組件二

以上是【朙月拼音】中有關繁簡轉換功能的設定。

engine/filters 中,除了 simplifier,還用了一件 uniquifier。 這是因爲有些時候,不一樣的候選會轉化爲相同的簡化字,例如「鐘→鍾」、「鍾→鍾」。 uniquifier 的做用是在 simplifier 執行轉換之後,將文字相同的候選項合併。

該輸入方案設有三個狀態開關:中/西文、全/半角、繁簡字。即 switches 之下三項。

每個開關可在兩種狀態(states)之間切換,simplifier 依據名爲 simplification 的開關狀態來決定是否作簡化:

  • 初始狀態下、輸出爲傳統漢字、〔方案選單〕中的開關選項顯示爲「漢字→漢字」。
  • 選擇該項後、輸出爲簡化漢字、〔方案選單〕中顯示「漢字→漢字」。
  • Rime 會記憶您的選擇,下次打開輸入法時、直接切換到所選的字形。
  • 亦可無視上次記住的選擇,在方案中重設初始值:reset 設爲 0 或 1,分別選中 states 列表中的兩種狀態。

若是平常應用以簡化字爲主:-(,則往往在〔方案選單〕中切換十分不便; 於是佛振獻上默認輸出簡化字的設定檔:

# luna_pinyin.custom.yaml

patch:
  switches:                   # 注意縮進
    - name: ascii_mode
      reset: 0                # reset 0 的做用是當從其餘輸入方案切換到本方案時,
      states: [ 中文, 西文 ]  # 重設爲指定的狀態,而不保留在前一個方案中設定的狀態。
    - name: full_shape        # 選擇輸入方案後一般須要當即輸入中文,故重設 ascii_mode = 0;
      states: [ 半角, 全角 ]  # 而全/半角則可沿用以前方案中的用法。
    - name: simplification
      reset: 1                # 增長這一行:默認啓用「繁→簡」轉換。
      states: [ 漢字, 漢字 ]

其實預設輸入方案中就提供了一套【朙月拼音】的簡化字版本,名爲【簡化字】,以應你們「填表」之需。 看他的代碼如何卻與上篇定製檔寫得不一樣:

# luna_pinyin_simp.schema.yaml
# ...

switches:
  - name: ascii_mode
    reset: 0
    states: [ 中文, 西文 ]
  - name: full_shape
    states: [ 半角, 全角 ]
  - name: zh_simp           # 注意這裏(※1)
    reset: 1
    states: [ 漢字, 漢字 ]

simplifier:
  option_name: zh_simp      # 和這裏(※2)

前文說,simplifier 這個組件會檢查名爲 simplification 的開關狀態; 而這款【簡化字】方案卻用了一個不一樣名的開關 zh_simp,即 ※1 處所示; 並通過在 ※2 行設定 simplifier/option_name 告知 simplifier 組件所需關注的開關名字。

何故?

還記得否,前文對「全/半角」這個開關的討論—— 當切換方案時,未明確使用 reset 重置的開關,會保持以前設定過的狀態。

【朙月拼音】等多數方案,並未重設 simplification 這個選項—— 因爲用戶換了一種輸入編碼的方式、並不意味着須要變更輸出的字形。

而【簡化字】這一方案不一樣,偏偏是表達變更輸出字形的需求; 用戶再從【簡化字】切回【朙月拼音】時,必定是爲了「回到」繁體輸出模式。 因此令【簡化字】使用獨立命名的開關、而非方案間共用的 simplification 開關, 以免影響其餘輸入方案的繁簡轉換狀態。

一例、默認英文輸出

有些用戶習慣默認英文輸出,在須要用中文時再作切換。這就須要我們在方案中重設狀態開關初始值。

還記得否?我們可用reset設定項在方案中爲某些狀態開關重設初始值:reset 設爲 0 或 1,分別選中 states 列表中的兩種狀態。

我們以【朙月拼音】爲例:

# luna_pinyin.custom.yaml

patch:
  "switches/@0/reset": 1  #表示將 switcher 列表中的第一個元素(即 ascii_mode 開關)的初始值重設爲狀態1(即「英文」)。

一例、定製方案選單

在【小狼毫】方案選單設定介面上勾勾選選,就能夠如此定製輸入方案列表:

# default.custom.yaml

patch:
  schema_list:  # 對於列表類型,現在無有辦法指定如何添加、消除或單一修改某項,於是要在定製檔中將整個列表替換!
    - schema: luna_pinyin
    - schema: cangjie5
    - schema: luna_pinyin_fluency
    - schema: luna_pinyin_simp
    - schema: my_coolest_ever_schema  # 這樣就啓用了不曾有過的高級輸入方案!其實這麼好的方案應該排在最前面哈。

無有設定介面時,又想啓用、禁用某個輸入方案,手寫這樣一份定製檔、從新佈署就好啦。

一例、定製喚出方案選單的快捷鍵

喚出方案選單,當然要用鍵盤。默認的快捷鍵爲 Ctrl+` 或 F4。

不過,有些同學電腦上 Ctrl+` 與其餘軟件衝突,F4 甚至本文寫做時在【鼠鬚管】中還不可用。又或者有的玩家切換頻繁,想定義到更好的鍵位。

那麼……

# default.custom.yaml

patch:
  "switcher/hotkeys":  # 這個列表裏每項定義一個快捷鍵,使哪個都中
    - "Control+s"      # 添加 Ctrl+s
    - "Control+grave"  # 你看寫法並不是 Ctrl+` 而是與 IBus 一致的表示法
    - F4

按鍵定義的格式爲「修飾符甲+修飾符乙+…+按鍵名稱」,加號爲分隔符,要寫出。

所謂修飾符,就是如下組合鍵的狀態標誌或是按鍵彈起的標誌:

  • Release——按鍵被放開,而不是按下
  • Shift
  • Control
  • Alt——Windows上 Alt+字母 會被系統優先識別爲程序菜單項的快捷鍵,當然 Alt+Tab 也不可用
  • 嗯,Linux 發行版還支持 Super, Meta 等組合鍵,不過最好選每個平臺都能用的啦

按鍵的名稱,大小寫字母和數字都用他們本身表示,其餘的按鍵名稱 參考這裏 這個更直觀的文檔 的定義,去除代碼前綴 XK_ 便是。

DIY 處方集

已將一些定製 Rime 的常見問題、解法及定製檔鏈接收錄於此。

建議您首先讀完《定製指南》、通曉相關原理,以正確運用這些處方。

初始設定

在方案選單中添加五筆、雙拼

https://gist.github.com/2309739

倣此例,可啓用任一預設或自訂輸入方案,如【粵拼】、【註音】等。(詳解:參見前文「定製方案選單」一節)

若是下載、本身製做了非預設的輸入方案,將源文件複製到「用戶資料夾」後,也用上面的方法將方案標識加入選單!

修改於從新佈署後生效。

輸入習慣

使用Control鍵切換中西文

https://gist.github.com/2981316

以及修改Caps Lock、左右Shift、左右Control鍵的行爲,提供三種切換方式。 詳見 Gist 代碼註釋。

方便地輸入含數字的西文用戶名

一般,輸入以小寫拉丁字母組成的編碼後,數字鍵的做用是選擇相應序號的候選字。

假設個人郵箱地址是 rime123@company.com,則須要在輸入rime之後上屏或作臨時中西文切換,方可輸入數字部分。

爲了更方便輸入個人用戶名 rime123,設置一組特例,將 rime 與其後的數字優先識別西文:

https://gist.github.com/3076166

以方括號鍵換頁

https://gist.github.com/2316704

添加 Mac 風格的翻頁鍵 [ ] 。這是比較直接的設定方式。下一則示例給出了一種更系統、可重用的設定方式。

使用西文標點兼以方括號鍵換頁

https://gist.github.com/2334409

詳見上文「使用全套西文標點」一節。

以回車鍵清除編碼兼以分號、單引號選字

https://gist.github.com/2390510

適合一些形碼輸入法(如五筆、鄭碼)的快手。

關閉逐鍵提示

table_translator 默認開啓逐鍵提示。若要只出精確匹配輸入碼的候選字,可關閉這一選項。

以【倉頡五代】爲例:

# cangjie5.custom.yaml
patch:
  translator/enable_completion: false

關閉用戶詞典和字頻調整

以【五筆86】爲例:

# wubi86.custom.yaml
patch:
  translator/enable_user_dict: false

關閉碼表輸入法連打

註:這個選項僅針對 table_translator,用於屏蔽倉頡、五筆中帶有太極圖章「☯」的連打詞句選項,不可做用於拼音、註音、速成等輸入方案。

以【倉頡】爲例:

# cangjie5.custom.yaml
patch:
  translator/enable_sentence: false

關閉倉頡與拼音混打

默認,給出倉頡與拼音候選的混合列表。

如此設定,直接敲字母只認做倉頡碼,但仍可在敲 ` 之後輸入拼音:

# cangjie5.custom.yaml
patch:
  abc_segmentor/extra_tags: {}

空碼時按空格鍵清空輸入碼

首先須要關閉碼表輸入法連打(參見上文),這樣才能夠在打空時不出候選詞。

然後設定(以五筆86爲例):

# wubi86.custom.yaml
patch:
  translator/enable_sentence: false
  key_binder/bindings:
    - {when: has_menu, accept: space, send: space}
    - {when: composing, accept: space, send: Escape}

模糊音

【朙月拼音】模糊音定製模板

https://gist.github.com/2320943

【明月拼音·簡化字/臺灣正體/語句流】也適用, 只須將模板保存到 luna_pinyin_simp.custom.yamlluna_pinyin_tw.custom.yamlluna_pinyin_fluency.custom.yaml

對比模糊音定製模板與【朙月拼音】方案原件, 可見模板的作法是,在 speller/algebra 原有的規則中插入了一些定義模糊音的代碼行。

類似方案如雙拼、粵拼等可參考模板演示的方法改寫 speller/algebra

【吳語】模糊音定製模板

https://gist.github.com/2015335

編碼反查

設定【速成】的反查碼爲粵拼

https://gist.github.com/2944320

設定【倉頡】的反查碼爲雙拼

https://gist.github.com/2944319

在Mac系統上輸入emoji表情

參考 https://gist.github.com/2309739emoji 加入輸入方案選單;

切換到 emoji 輸入方案,便可通過拼音代碼輸入表情符號。查看符號表

輸入 all 能夠列出所有符號,符號後面的括弧裏標記其拼音代碼。

若要直接在【朙月拼音】裏輸入表情符號,請按此文設定:

http://gist.github.com/3705586

五筆簡入繁出

【小狼毫】用家請到下載頁取得「擴展方案集」。

安裝完成後,執行輸入法設定,添加【五筆·簡入繁出】輸入方案。

其餘版本請參考這篇說明:

https://gist.github.com/3467172

修正不對稱繁簡字

繁→簡即時轉換比簡體轉繁體要輕鬆許多,卻也免不了個別的錯誤。

好比這一例,「乾」字是一繁對多簡的典型。由它組成的經常使用詞組,opencc 都作了仔細分辨。可是遇到較生僻的詞組、專名,就比較頭疼:

http://tieba.baidu.com/p/1909252328

活用標點創建自定義詞組

在【朙月拼音】裏添加一些自定義文字、符號。能夠按照上文設定「emoji表情」的方式爲自定義詞組創建一個專門的詞典。

但是創建詞典稍顯繁瑣,而活用自定義標點,不失爲一個便捷的方法:

# luna_pinyin.custom.yaml
# 若是不須要 ` 鍵的倉頡反查拼音功能,則可利用 ` 鍵輸入自定義詞組
patch:
  recognizer/patterns/reverse_lookup:
  'punctuator/half_shape/`':
    - '佛振 <chen.sst@gmail.com>'
    - 'http://rime.github.io'
    - 上天賦予你高的智商,教你用到有用的地方。

上例 recognizer/patterns/reverse_lookup: 做用是關閉 ` 鍵的反查功能。若選用其餘符號則不須要這行。又一例:

patch:
  'punctuator/half_shape/+': '+_+'

'punctuator/half_shape/+' 因爲字符串包含符號,最好用 單引號 括起來,避免符號的轉義問題。

重定義「/」這個符號,無法用上面演示的路徑連寫方式,那就分開寫:

patch:
  punctuator/half_shape:
   '/': [ '/', '/hello', '/bye', '/* TODO */' ]
   '+': '+_+'

更多請參考

相關文章
相關標籤/搜索