ああ、最近気胸のために入院していて、春節はずっと気分が沈んでいましたが、今日から北京に戻るので、ついでに入力法をおすすめします -- Rime
つぶやき#
ほとんどの人と同じように、私も以前は主力の入力法として Sogou 入力法を使用していましたが、Sogou 入力法のいくつかの欠点が私を使うのをやめさせました。
-
伝統的な技術として、Sogou 入力法のプライバシー保護は謎であり、MacOS の特定のバージョンの Sogou が私の連絡先やカレンダーの読み取り権限を取得しようとしています。
-
伝統的な技術として、Sogou 入力法の広告配信は本当に言葉にできないほどで、特に Windows 上では、いくつかのコンポーネントを禁止しましたが、まだ防ぎきれません。
-
香港、マカオ、台湾、そして海外のコミュニティの友人との交流が必要なため、入力法が繁体字を比較的良くサポートできる必要がありますが、Sogou 入力法の繁体字サポートも言葉にできないほどです。
-
Sogou 入力法のカスタマイズ能力も私のニーズを満たしていません。。
そのため、私は 2018 年からオープンソースで制御可能でカスタマイズ可能な、簡体字 / 繁体字入力に比較的優しい入力法を探し始めました。探した結果、Rime 入力法が私の視界に入り、1 年以上使用した結果、これは本当に素晴らしい入力法だと思います。
Rime とは?#
Rime
(別名 中州韻
)は、オープンソースのクロスプラットフォーム入力法エンジンで、完全にオープンソースで、完全にカスタマイズ可能です。あなたは Rimeのソースコードに基づいて、自分自身の入力法エンジンを封装することさえできます。また、Rime
の非常に高いカスタマイズ性により、Rime
に基づいて自分の入力法を作成できます。
Rime
の利点は、設定ファイルの方式を通じて拡張を非常に良くサポートしていることと、繁体字のサポートが非常に優れていることです。
例を挙げると、
ここで、「才」と「纔」は異なります。他にもたくさんの例がありますので、皆さんで体験してみてください。
しかし、Rime
の成功も非常に高いカスタマイズ性に起因し、失敗もまた非常に高いカスタマイズ性に起因します。ユーザーにとって、純粋な YAML 設定ファイルのカスタマイズ方法は、敷居が高すぎます。
あなたの Rime をより使いやすくする#
まず、私の Rime 設定の効果を見てみましょう。
さて、Rime のインストールと設定について話しましょう。
Rime の基本インストール#
特に言うことはありません。公式サイトから対応するプラットフォームのインストーラをダウンロードしてインストールするだけです。MacOS では、Rime
の設定は~/Library/Rime
にありますので、VSCode などのテキストエディタを使って対応するディレクトリを開いて編集できます。
公式には、元の設定ファイルを直接変更することは推奨されていません。なぜなら、入力法が更新されるとデフォルト設定が上書きされ、特定のカスタマイズ設定が失われる可能性があるからです。推奨される方法は、一連のパッチ設定を作成し、パッチを適用するような方法でカスタマイズ設定を無感覚に追加することです。
Rime の配色#
Rime
の配色管理ファイルはsquirrel.custom.yaml
です。私は自分でネットユーザーが提供した即刻黄の配色を使用しています。
スキンの配色を切り替えたい場合は、style/color_scheme を対応するスキンの配色名に変更するだけで済みます。
patch:
app_options:
"com.runningwithcrayons.Alfred-3":
ascii_mode: true
com.google.android.studio:
ascii_mode: true
com.jetbrains.intellij:
ascii_mode: true
show_notifications_when: appropriate # 状態通知、適切(appropriate)、開(always)閉(never)
style:
color_scheme: jike
preset_color_schemes:
apathy:
name: "冷漠 / Apathy"
author: "LIANG Hai "
horizontal: true # 水平配置
inline_preedit: true # 単行表示、falseは二行表示
candidate_format: "%c\u2005%@\u2005" # 番号 %c と候補語 %@ の前後のスペース
corner_radius: 5 # 候補バーの角丸
border_height: 0
border_width: 0
back_color: 0xFFFFFF # 候補バーの背景色
font_face: "PingFangSC-Regular,HanaMinB" # 候補語のフォント
font_point: 16 # 候補字のサイズ
text_color: 0x424242 # ハイライト選択語の色
label_font_face: "STHeitiSC-Light" # 候補語番号のフォント
label_font_point: 12 # 候補番号のサイズ
hilited_candidate_text_color: 0xEE6E00 # 候補文字の色
hilited_candidate_back_color: 0xFFF0E4 # 候補文字の背景色
comment_text_color: 0x999999 # ピンインなどのヒント文字の色
jike:
name: 即刻黄
author: Ryekee
back_color: 0x11E4FF
corner_radius: 5 # 候補バーの角丸
border_height: 0
border_width: 0
candidate_format: "%c\u2005%@\u2005"
candidate_text_color: 0x362915
comment_text_color: 0x000000
font_face: "PingFangSC-Regular,HanaMinB"
font_point: 16 # 候補字のサイズ
hilited_candidate_back_color: 0xF4B95F
hilited_candidate_text_color: 0xFFFFFF
horizontal: true
inline_preedit: true
label_font_face: "STHeitiSC-Light"
label_font_point: 12
text_color: 0xFFFFFF
Rime のショートカットキー#
Rime
では、特定の文字や絵文字を入力するためのショートカットキーを設定できます。デフォルトで多くのものが用意されています。
例えば、/bg
と入力すると八卦のリストが表示されます。
例えば、/xl
と入力するとギリシャ文字のリストが表示されます。
さらに多くのショートカット入力は、symbols.yaml
のリストを参照できます。その中でいくつか面白いものを見てみましょう。
# 月、日、曜日など
'/yf': [ ㋀, ㋁, ㋂, ㋃, ㋄, ㋅, ㋆, ㋇, ㋈, ㋉, ㋊, ㋋ ]
'/rq': [ ㏠, ㏡, ㏢, ㏣, ㏤, ㏥, ㏦, ㏧, ㏨, ㏩, ㏪, ㏫, ㏬, ㏭, ㏮, ㏯, ㏰, ㏱, ㏲, ㏳, ㏴, ㏵, ㏶, ㏷, ㏸, ㏹, ㏺, ㏻, ㏼, ㏽, ㏾ ]
'/yr': [ 月, 火, 水, 木, 金, 土, 日, ㊊, ㊋, ㊌, ㊍, ㊎, ㊏, ㊐, ㊗, ㊡, ㈪, ㈫, ㈬, ㈭, ㈮, ㈯, ㈰, ㈷, ㉁, ㉀ ]
# 時間
'/sj': [ ㍘, ㍙, ㍚, ㍛, ㍜, ㍝, ㍞, ㍟, ㍠, ㍡, ㍢, ㍣, ㍤, ㍥, ㍦, ㍧, ㍨, ㍩, ㍪, ㍫, ㍬, ㍭, ㍮, ㍯, ㍰ ]
# 天干、地支、干支
'/tg': [ 甲, 乙, 丙, 丁, 戊, 己, 庚, 辛, 壬, 癸 ]
'/dz': [ 子, 丑, 寅, 卯, 辰, 巳, 午, 未, 申, 酉, 戌, 亥 ]
'/gz': [ 甲子, 乙丑, 丙寅, 丁卯, 戊辰, 己巳, 庚午, 辛未, 壬申, 癸酉, 甲戌, 乙亥, 丙子, 丁丑, 戊寅, 己卯, 庚辰, 辛巳, 壬午, 癸未, 甲申, 乙酉, 丙戌, 丁亥, 戊子, 己丑, 庚寅, 辛卯, 壬辰, 癸巳, 甲午, 乙未, 丙申, 丁酉, 戊戌, 己亥, 庚子, 辛丑, 壬寅, 癸卯, 甲辰, 乙巳, 丙午, 丁未, 戊申, 己酉, 庚戌, 辛亥, 壬子, 癸丑, 甲寅, 乙卯, 丙辰, 丁巳, 戊午, 己未, 庚申, 辛酉, 壬戌, 癸亥 ]
# 節気
'/jq': [ 立春, 雨水, 驚蟄, 春分, 清明, 穀雨, 立夏, 小滿, 芒種, 夏至, 小暑, 大暑, 立秋, 處暑, 白露, 秋分, 寒露, 霜降, 立冬, 小雪, 大雪, 冬至, 小寒, 大寒 ]
# 単位
'/dw': [ Å, ℃, %, ‰, ‱, °, ℉, ㏃, ㏆, ㎈, ㏄, ㏅, ㎝, ㎠, ㎤, ㏈, ㎗, ㎙, ㎓, ㎬, ㏉, ㏊, ㏋, ㎐, ㏌, ㎄, ㎅, ㎉, ㎏, ㎑, ㏍, ㎘, ㎞, ㏎, ㎢, ㎦, ㎪, ㏏, ㎸, ㎾, ㏀, ㏐, ㏓, ㎧, ㎨, ㎡, ㎥, ㎃, ㏔, ㎆, ㎎, ㎒, ㏕, ㎖, ㎜, ㎟, ㎣, ㏖, ㎫, ㎳, ㎷, ㎹, ㎽, ㎿, ㏁, ㎁, ㎋, ㎚, ㎱, ㎵, ㎻, ㏘, ㎩, ㎀, ㎊, ㏗, ㏙, ㏚, ㎰, ㎴, ㎺, ㎭, ㎮, ㎯, ㏛, ㏜, ㎔, ㏝, ㎂, ㎌, ㎍, ㎕, ㎛, ㎲, ㎶, ㎼ ]
# 通貨
'/hb': [ ¥, ¥, ¤, ¢, $, $, £, £, ৳, ฿, ₠, ₡, ₢, ₣, ₤, ₥, ₦, ₧, ₩, ₪, ₫, €, ₭, ₮, ₯, ₰, ₱, ₲, ₳, ₴, ₵, ₶, ₷, ₸, ₹, ₺, ₨, ﷼ ]
そして、私は漠然の設定を参考にして、luna_pinyin_simp.custom.yaml
にいくつかの設定を追加しました。
punctuator:
import_preset: symbols
symbols:
"/fs": [½,‰,¼,⅓,⅔,¾,⅒]
"/dq": [🌍,🌎,🌏,🌐,🌑,🌒,🌓,🌔,🌕,🌖,🌗,🌘,🌙,🌚,🌛,🌜,🌝,🌞,⭐,🌟,🌠,⛅,⚡,❄,🔥,💧,🌊]
"/jt": [⬆,↗,➡,↘,⬇,↙,⬅,↖,↕,↔,↩,↪,⤴,⤵,🔃,🔄,🔙,🔚,🔛,🔜,🔝]
"/sg": [🍇,🍈,🍉,🍊,🍋,🍌,🍍,🍎,🍏,🍐,🍑,🍒,🍓,🍅,🍆,🌽,🍄,🌰,🍞,🍖,🍗,🍔,🍟,🍕,🍳,🍲,🍱,🍘,🍙,🍚,🍛,🍜,🍝,🍠,🍢,🍣,🍤,🍥,🍡,🍦,🍧,🍨,🍩,🍪,🎂,🍰,🍫,🍬,🍭,🍮,🍯,🍼,🍵,🍶,🍷,🍸,🍹,🍺,🍻,🍴]
"/dw": [🙈,🙉,🙊,🐵,🐒,🐶,🐕,🐩,🐺,🐱,😺,😸,😹,😻,😼,😽,🙀,😿,😾,🐈,🐯,🐅,🐆,🐴,🐎,🐮,🐂,🐃,🐄,🐷,🐖,🐗,🐽,🐏,🐑,🐐,🐪,🐫,🐘,🐭,🐁,🐀,🐹,🐰,🐇,🐻,🐨,🐼,🐾,🐔,🐓,🐣,🐤,🐥,🐦,🐧,🐸,🐊,🐢,🐍,🐲,🐉,🐳,🐋,🐬,🐟,🐠,🐡,🐙,🐚,🐌,🐛,🐜,🐝,🐞,🦋]
"/bq": [😀,😁,😂,😃,😄,😅,😆,😉,😊,😋,😎,😍,😘,😗,😙,😚,😇,😐,😑,😶,😏,😣,😥,😮,😯,😪,😫,😴,😌,😛,😜,😝,😒,😓,😔,😕,😲,😷,😖,😞,😟,😤,😢,😭,😦,😧,😨,😬,😰,😱,😳,😵,😡,😠]
"/ss": [💪,👈,👉,👆,👇,✋,👌,👍,👎,✊,👊,👋,👏,👐]
"/dn": [⌘, ⌥, ⇧, ⌃, ⎋, ⇪, , ⌫, ⌦, ↩︎, ⏎, ↑, ↓, ←, →, ↖, ↘, ⇟, ⇞]
"/fh": [©,®,℗,ⓘ,℠,™,℡,␡,♂,♀,☉,☊,☋,☌,☍,☑︎,☒,☜,☝,☞,☟,✎,✄,♻,⚐,⚑,⚠]
"/xh": [*,×,✱,★,☆,✩,✧,❋,❊,❉,❈,❅,✿,✲]
入力法の設定#
皆さんはdefault.custom.yaml
で自分の好きな入力法を設定できます。私は現在明月ピンインを使用しており、デフォルトの入力法切り替えのショートカットキーはCtrl+~
ですが、このショートカットキーは VSCode のショートカットキーと衝突するため、Ctrl+Shift+F12
に変更しました。
patch:
menu:
page_size: 8
schema_list:
- schema: luna_pinyin_simp # 朙月拼音 簡体字
"switcher/hotkeys":
- "Control+Shift+F12"
辞書の調整#
ここで漠然の説明を引用します:
Rime のデフォルトの辞書は少し弱いので、Sogou の辞書をダウンロードして拡張できます。ただし、Sogou の辞書形式はデフォルトでは解析できませんが、幸いにも誰かが Sogou の細胞辞書を Rime 形式に変換するツールを開発しました(ツールはここからダウンロードできます)。現在、このツールは Windows のみをサポートしています(他にも誰かが書いた py スクリプトなどがありますが、私は使っていません)。そのため、辞書の変換操作には Windows の仮想マシンが必要です。
変換プロセスは非常に簡単で、まず Sogou 辞書から一連の scel ファイルをダウンロードし、次にそれらをバッチ選択し、入力と出力形式を調整して変換をクリックし、最後に txt ファイルとして保存します。
このテキストだけでは不十分で、辞書の yaml 設定にそれを追加する必要があります。したがって、新しい辞書設定ファイル luna_pinyin.sougou.dict.yaml を作成し、ヘッダー説明を書きます(最後の 3 つの点の後に改行を追加することに注意してください)。
# Rime辞書
# encoding: utf-8
# Sogou辞書 現在含まれているもの:
# IT計算機 実用IT用語 親戚の呼称 化学品名 数字時間 数学用語 淘宝辞書 プログラミング言語 ソフトウェア専門 色の名前 プログラマー辞書 開発専用辞書 Sogou標準辞書
# 写真専門用語 計算機専門辞書 計算機用語大全 保険用語 最も詳細な全国地名大全 食品大全 一般的な花の名前 不動産用語大全 中国の伝統的な祝日大全 経済金融用語大全
---
name: luna_pinyin.sougou
version: "1.0"
sort: by_weight
use_preset_vocabulary: true
...
次に、生成された辞書の txt ファイルの内容を 3 つの点の下に貼り付けるだけです。しかし、辞書が多すぎると、このテキストが数十 MB になることがあり、一般的なエディタで開くとカクカクすることがあります。このような場合は、コマンドラインで cat を使うと良いです。
cat sougou.txt >> luna_pinyin.sougou.dict.yaml
最後に、luna_pinyin.extended.dict.yaml の import_tables フィールドを修正し、先ほど作成した辞書を追加します。
---
name: luna_pinyin.extended
version: "2016.06.26"
sort: by_weight # 辞書の初期ソート、originalまたはby_weightを選択可能
use_preset_vocabulary: true
# ここには明月ピンイン拡張辞書(基本)のデフォルトでリンクされる辞書が含まれています。朙月ピンイン公式辞書、明月ピンイン拡張辞書(漢語大辞典)、明月ピンイン拡張辞書(詩詞)、明月ピンイン拡張辞書(西文の語彙を含む)。特定の辞書を読み込む必要がない場合は、それを「#」でコメントアウトしてください。
# 双拼はluna_pinyin.cn_en辞書をサポートしていないため、ユーザーは手動で無効にしてください。
import_tables:
- luna_pinyin
# Sogou辞書を追加
- luna_pinyin.sougou
- luna_pinyin.poetry
- luna_pinyin.cn_en
- luna_pinyin.kaomoji
私の設定では、Sogou から医学、古詩、軍事などの辞書を追加しました(逃
ショートカットキーの設定#
ここでは、Rime
の作者のGistを参考にしてショートカットキーの設定を行いました。
ascii_composer/good_old_caps_lock: true
ascii_composer/switch_key:
Caps_Lock: commit_code
Control_L: noop
Control_R: noop
# 左Shiftを押すと英字が直接画面に表示され、再度Enterを押す必要がなく、入力法は英語の状態を維持します。
Shift_L: commit_code
Shift_R: noop
まとめ#
この一連の作業を経て、私たちのRime
は日常の使用に十分応えるはずです。文中の設定は、私が GitHub にアップロードした設定を使ってそのまま利用可能です。RimeConfig
もしかしたら、なぜ入力法にこんなに多くの時間をかける必要があるのかと疑問に思う人もいるかもしれません。そうです、私は日常的に使用する基本的なツールに対して、自分に合ったものを見つけ、それを自分のニーズに合わせて調整するために一定の時間を費やすことは非常に意義のあることだと思っています。今後の仕事や生活、学習の中で、これが私たちの幸福感や効率を大いに向上させるでしょう。
うん、だいたいこんな感じです。新年最初の記事、皆さんに新年の幸せを祈ります!