四月,有了Mac之后……
Rime
Rime Input Method Engine · 中州韻輸入法引擎
Rime on Github
为什么推荐呢?
鼠须管那点事儿
其实也不算啥大事儿,本来想找个速度快,能词库,能同步的输入法对我来说就足够了,很明显搜狗就满足这一点。
然而,手心候也出了Mac版,由于手机就在用手心,就试了一下。
半个月体验下来,结果很糟,会卡,词库硬伤,而且还是有点慢。
为了一个输入法把自己折腾的死去活来的,不值得。
然后被好友带入了中州韵,了解到中州韵只是个输入引擎,实际的输入法是衍生品:
- 鼠须管(for MacOS)
- 小狼毫(for Windows)
关于“鼠须管”这个名字的由来,可以看看这里,还有就是中州韵的命名由来。
安装
在Mac里装东西,一向让人省心。一句命令解决的事情,不用多解释了:
1
| brew cask install squirrel
|
找zip包?在这里
neolee/SCU 是由 Neo Lee 开发的图形化配置工具。
配置
Rime 输入方案贵在原创。
不止于拼音、注音、仓颉、速成、五笔、双拼、粤拼、吴语、中古汉语拼音、五笔画、Emoji、国际音标、宫保拼音……
读《方案设计书》,亲手来创作,把输入法变成理想的模样。
官网如是写到。
没错,这就是我选择鼠须管的主要原因:把输入法变成理想的模样
刚安装好,拼音输入是繁体的,按组合键 ⌃ + \
呼出输入法方案选单(如下),切换为「汉字」就可以输入简体了
配置文件一览
数据文件位置
共享资料夹:/Library/Input Methods/Squirrel.app/Contents/SharedSupport/
用户资料夹:~/Library/Rime/
用户资料夹内的文件说明如下
- 〔全局设定〕
default.yaml
- 〔发行版设定〕
weasel.yaml
- 〔预设输入方案副本〕
<方案标识>.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
- ※〔用户自制输入方案〕及配套的词典源文件
注:以上标有「※ 号」和「粗体」的文件,包含用户资料,您在清理文件时要注意备份!
一些快捷键
输入的时候删除一个音节
⌃ + ⌫
或 ⇧ + ⌫
从用户词典中删除误上屏的错词
⇧ + Fn + ⌫
Emacs 风格的编辑键
- ↑:
⌃ + p
- ↓:
⌃ + n
- ←:
⌃ + b
- →:
⌃ + f
- 上页:
⌥ + v
- 下页:
⌃ + v
- 句首:
⌃ + a
- 句末:
⌃ + e
- 回退:
⌃ + h
- 刪除:
⌃ + d
- 清空:
⌃ + g
有时候快捷键可能会用不了,那是因为其它应用首先获取了快捷键,这样输入法就不会影响你对其它软件的控制
我的配置
全局配置
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 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| patch: style/color_scheme: demo style/horizontal: true style/corner_radius: 3 style/border_height: 4 tyle/border_width: 4 style/font_face: "Lantinghei TC Extralight" style/font_point: 17 style/label_font_face: "Myriad Pro Light" style/label_font_point: 17 preset_color_schemes: label_color: 0xf2a45a back_color: 0x333333 candidate_text_color: 0xb9b9b9 comment_text_color: 0xa5a5a5 hilited_candidate_back_color: 0x333333 hilited_candidate_text_color: 0xff7d00 hilited_comment_text_color: 0x00a5ea hilited_text_color: 0x7fffff text_color: 0xa5a5a5 app_options/com.agilebits.onepassword4: ascii_mode: true app_options/com.runningwithcrayons.Alfred-3: ascii_mode: true app_options/com.ScooterSoftware.BeyondCompare: ascii_mode: true app_options/com.kapeli.dashdoc: ascii_mode: true app_options/com.jetbrains.datagrip: ascii_mode: true app_options/com.jetbrains.PhpStorm: ascii_mode: true app_options/com.jetbrains.pycharm: ascii_mode: true app_options/com.sequelpro.SequelPro: ascii_mode: true app_options/com.bohemiancoding.sketch3: ascii_mode: true app_options/com.jetbrains.WebStorm: ascii_mode: true app_options/org.wireshark.Wireshark: ascii_mode: true app_options/com.velestar.vssh.osx: ascii_mode: true app_options/com.hnc.Discord: ascii_mode: true app_options/com.apptorium.Expressions: ascii_mode: true app_options/org.mozilla.firefox: ascii_mode: true app_options/com.DanPristupov.Fork: ascii_mode: true app_options/com.google.Chrome: ascii_mode: true app_options/com.tumult.Hype2: ascii_mode: true app_options/com.googlecode.iterm2: ascii_mode: true app_options/com.lastpass.LastPass: ascii_mode: true app_options/com.apple.mail: ascii_mode: true app_options/com.apple.iChat: ascii_mode: true app_options/com.fotonauts.MongoHub: ascii_mode: true app_options/com.initex.proxifier.macosx: ascii_mode: true app_options/com.happenapps.Quiver: ascii_mode: true app_options/com.apple.reminders: ascii_mode: true app_options/com.apple.Safari: ascii_mode: true app_options/com.qiuyuzhou.ShadowsocksX-NG: ascii_mode: true app_options/com.tinyspeck.slackmacgap: ascii_mode: true app_options/com.skype.skype: ascii_mode: true app_options/com.spotify.client: ascii_mode: true app_options/pl.com.salsoft.SQLiteStudio: ascii_mode: true app_options/com.sublimetext.3: ascii_mode: true app_options/com.nssurge.surge-mac: ascii_mode: true app_options/com.teamviewer.TeamViewer: ascii_mode: true app_options/com.apple.TextEdit: ascii_mode: true app_options/com.tapbots.TweetbotMac: ascii_mode: true app_options/com.apple.Terminal: ascii_mode: true app_options/com.realvnc.vncviewer: ascii_mode: true
|
默认配置的扩充
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
| patch: menu/page_size: 9 schema_list: - schema: luna_pinyin - schema: luna_pinyin_simp
ascii_composer/good_old_caps_lock: true ascii_composer/switch_key: Caps_Lock: noop Control_L: commit_text Control_R: commit_text Eisu_toggle: clear Shift_L: inline_ascii Shift_R: inline_ascii
switcher: abbreviate_options: true caption: "〔切换〕" fold_options: true hotkeys: - "Control+grave" - "Control+Shift+grave" option_list_separator: "/" save_options: - full_shape - ascii_punct - simplification - extended_charset
|
关于中英文切换:
可用的按键有
- ⇪ Caps_Lock
- ⇧ Shift_L
- ⇧ Shift_R
- ⌃ Control_L
- ⌃ Control_R
而Mac系统上的鼠须管不能区分左、右,因此只有对Shift_L, Control_L 的设定起作用。
已输入编码时按切换键,可以进一步设定输入法中西文切换的形式。
可选的临时切换策略有三种:
inline_ascii
:在输入法的临时西文编辑区内输入字母、数字、符号、空格等,回车上屏后自动复位到中文。
commit_text
:已输入的候选文字上屏并切换至西文输入模式。
commit_code
:已输入的编码字符上屏并切换至西文输入模式。
noop
:屏蔽该切换键。
我的配置就是:
- ⇪ Caps lock键:保持系统默认配置
- ⇧ Shift键:临时切换为英文输入,回车确认后继续保持中文输入法
- ⌃ Control键:已经输入的汉字上屏,并切换为英文输入法。
朙月拼音・简化字
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
| patch: engine/translators: - punct_translator - r10n_translator - reverse_lookup_translator recognizer/patterns/reverse_lookup: "`[a-z]*$" schema/dependencies: - emoji abc_segmentor/extra_tags: - reverse_lookup reverse_lookup: dictionary: emoji enable_completion: false prefix: "`" tips: 〔表情〕 "key_binder/bindings": - { when: paging, accept: bracketleft, send: Page_Up } - { when: has_menu, accept: bracketright, send: Page_Down }
"translator/dictionary": luna_pinyin.extended "speller/algebra/@before 0": xform/^([b-df-np-z])$/$1_/
|
增加emoji表情输入
保存,重新部署,切换到“朙月拼音”,打入反引号,然后输入“biaoqing”看看是不是出来了,如果不生效,请检查代码的对齐是不是有问题。有关emoji表情的介绍看符号表
扩充词库
词库对很多用惯了输入法的人来说,是很严重的依赖条件。Rime也有词库功能
下载扩充词库
有关搜狗核心词库(4.6 MB, 460,000词),请与我联系获得(我不会告诉你我七牛没钱了才不贴出来的
转换词库
下载词库转换工具:深蓝词库转换 for Windows
接下来的事情就很简单了,导出自己原来输入法的词库,在深蓝里转换,成Rime词库,保存为 source.txt
词库简繁转换
首先,打开终端再装一个包:OpenCC
brew install opencc
然后将你在深蓝转换好的 source.txt
丢到一个目录里,cd进去,方便繁简转换
opencc -i source.txt -o dest.txt
最后一步
转换后的词库 dest.txt
,改名为 luna_pinyin.name.dict.yaml
其中name你可以自己换了。
然后打开这个yaml词库文件,在顶头加几句话:
1 2 3 4 5
| --- name: luna_pinyin.name version: "0.0.1" use_preset_vocabulary: true
|
name就是这个文件除了 .dict.yaml
之外的部分;
version是版本号,根据以后的发展,修改这个版本号可以方便管理;
打开 luna_pinyin.extended.dict.yaml
, 找到 import_tables
,在下面加入你刚刚做好的词库:
然后保存退出,重新载入配置文件吧!
关于搜狗词库
没错这货现存的版本,个人词库都是加密的。不过用Mac的话有个神奇而又不知道能存活多久的方法能把自己未加密的用户词库搞出来:
参照知乎用户Gary的回答: 怎样导出搜狗词库到文本?不要加密的
有关同步
在这里多说几句,为什么不直接修改而是增加一个“custom”文件呢?这个方法的好处是,这些custom的配置文件是可以放在网盘备份的,这个备份可以有三个好处:
- 个人的数据在自己信得过的网盘中,不会有乱七八糟的事情初现
- 可以让多个客户端都指向备份文件夹,这样就可以做到多端同步
- 版本升级,不会影响个人数据与个性化配置,一劳永逸
使用 Dropbox 同步用户资料
编辑 installation.yaml
文件,添加一行:
sync_dir: '/Users/username/Dropbox/sync/Rime'
在不同电脑间进行同步
同步机制可以理解为这样的:
比如两者的同步文件夹都为 Rime(通过 Dropbox 等同步工具同步)
在这之下就会生成两个以 installation_id 命名的文件夹,分别存放了两者的配置
所以两者之间的配置是不会共享的,自己同步自己的。
但是用户词典是相互同步的(显然需要这个功能)
尾声
嘛,有哪里写错的,欢迎在下面的评论区指正。也希望你有个懂你的输入法~
参考资料: