重拾中州韵
Win 7刚开始风靡时,本人的主力码字工具还是佛振开发的开源输入法Rime 。Windows和Mac平台各有一个开发代号,分别叫「小狼毫」、「鼠须管」,当时觉得这个名字又风又雅,因为借了欧阳修《奉送原甫侍读出守永兴》的典故。
鱼枕蕉,一举十分当覆盏。
鼠须管,为物虽微情不浅。
第一次,从词库、表情到非码转换,全程都由自己手动配置。一轮下来,小命休矣。因此,当年对Rime的印象停留在技术流、不友好等标签。能坚持下来,全凭rime早期资深用户、Google大牛BYVoid2012年的竭力推荐1:
Rime全名是「中州韵输入法引擎」,它不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、双拼、注音、五笔、仓颉等所有音码和形码输入法,远比基于码表的各种「输入法生成器」优秀许多。
Rime默认提供了两个拼音输入法「朙(míng)月拼音」和「地球拼音」,两者都可以输入准确的繁体和简体,而且「地球拼音」还支持声调输入。Rime还支持了许多种方言拼音,如吴语、粤语,甚至中古汉语。
由于作者佛振精力有限,对版本维护难以周全,Rime项目在2014年12月23日后相当长一段一度停滞更新。自己因为转战Window,嫌弃小狼毫颜值不高,与这款输入法也是渐行渐远,不经意间,发现自己投奔了搜狗输入法的阵营。
4年1个月10天后,自己转战macOS,但对市面上主流输入法始终不满意,一次偶然的机会,发现万年蛰伏的鼠须管竟然更新到了0.10.0,而且折半年来更新频繁。果断删除了盗取隐私的搜狗,兜兜转转再次回到了原点,下面记述一下部署经过。
删除搜狗系列
为了彻底删除搜狗家族,建议在终端操作:
删除搜狗拼音
$ rm -rf /Library/Input\ Methods/SogouInput.app
$ rm -rf /Users/user/Library/Caches/SogouServices #把 user 替换成你的用户名
$ rm -rf /Users/user/.sogouinput #把 user 替换成你的用户名
删除搜狗五笔
$ rm -rf /Library/Input\ Methods/SogouWBInput.app
$ rm -rf /Users/user/Library/Caches/SogouServices #把 user 替换成你的用户名
$ rm -rf /Users/user/.SogouWBInput #把 user 替换成你的用户名
安装鼠须管
建议之前装过鼠须管的用户先清除残留文件,你可以用官方提供的卸载方案2,也可以在终端键入以下命令:
$ sudo rm -rf "/Library/Input Methods/Squirrel.app"
$ rm -rf ~/Library/Rime
接下来是安装,如果你已经装了home brew,那事情就简单多了,一句话搞定:
$ brew cask install squirrel
稍等片刻,系统会自动提示鼠须管已经部署成功。
快捷键
快捷键设置建议单独放在key_bindings.yaml文件里,包括Control+grave或者Control+Shift+grave等菜单功能设置选项,个人设置的日常快捷键有:
Ctrl + Shift + 1
#快速切换最近是用过的输入法方案Ctrl + Shift + 4
#快速切换繁简Ctrl + Del
#一次向前删除候选栏的一个字Ctrl + Space
#快速切换输入法Ctrl + a
#相当于Home键,移动光标到编码(拼音)开头Ctrl + e
#相当于End,移动光标到编码(拼音)结尾Ctrl + g
#相当于Esc键,退出输入状态Ctrl + Option + grave
#快速重新部署Shift + ←
或Shift + →
#以词组为单位在编码之间移动光标Tab
快速选字
快捷覆盖配置文件
为了省去繁琐的部署过程,建议直接采用拿来主义,用他人的配置文件直接覆盖~/Library/Rime下的默认设定,这里推荐几个成熟的方案:
- mritd的rime词库 : 该版本比较精简基础,不包含五笔和双拼方案。
- alswl的rime词库 :最齐全的朙月拼音扩展词库,更新也非常及时。
- JackChen007的rime词库 : 包罗万象的一个词典仓库,有中古三拼、日语、粤语等多语种的输入解决方案。
- 码农伯伯的rime词库 : 对alswl的词库可以进行补充。
- lippmann的rime词库 :自然码双拼」、带辅码的「自然码 2000」 和「nihongo-r」日语输入方案。
- placeless的鼠须管小鹤双拼配置 :小鹤双拼版本,作者针对双拼做了适度优化。
- xhup小鹤音形方案 :小鹤音形成套方案,三种输入方式。
- KyleBing的鼠须管极点五笔配置 : 86极点五笔版本,作者全盘吸收了window版的极点五笔词库,做了适度精简,而且改造出很多小功能,如自造词、一键繁简转换、一键切换大小写数字等。
- polyhedron维护的多语种码表 : 涵盖阿拉伯文、梵文、希腊文、缅甸文、蒙古文、满文、藏文等近20个小语种的编码方案
- scomper的配置方案 : 比较成熟的开箱即用配置方案,推荐新手使用。
注意:在覆盖默认配置文件之前,建议先备份一下配置文件,以防制后续折腾挂了可以轻易还原。
$ cp -a ~/Library/Rime ~/Library/Rime_ori_$(date +%Y%m%d%H%M%S)
覆盖后点击屏幕右上角 => 鼠须管 => 重新部署,成功后会出现提示成功。
本人目前的输入方案:
schema_list:
- schema: wubi86_jidian # 极点五笔,增加简繁转换
- schema: numbers # 五笔大写数字快捷切换
# - schema: muddy-pinyin # 泥巴拼音查询
- schema: xxm # 小兮码
- schema: lyzm # 龙渊郑码
- schema: pinyin-ext # 拼音声调扩展
- schema: luyinxing # Lu音形
# - schema: xhup # 小鹤音形
# - schema: chemistry # 化学方程式
# - schema: logic_symbols # 逻辑符号输入辅助
# - schema: bopomofo_symbols # 注音符号输入辅助
# - schema: jp_sela # sela假名+汉字日语输入法
# - schema: kunyomi # 日语汉字训读
# - schema: kana # kana日语
- schema: nihongo-r # 日语平文式罗马输入方案
# - schema: wugniu_gninpou # 吴语宁波话(宁波城区)
# - schema: zyenpheng # 中古三拼
备注:schema_list支持两种写法,这两种写法是等价的
第一种flow style:
schema_list:
- {schema: luna_pinyin}
- {schema: double_pinyin_flypy}
第二种block style:
schema_list:
- schema: luna_pinyin
- schema: double_pinyin_flypy
朙月拼音的扩展词库(大部分是繁体,简体需要用BYvoid的opencc工具转换):
name: luna_pinyin.extended
version: "2019.04.19"
sort: by_weight #字典初始排序,可選original或by_weight
use_preset_vocabulary: true
import_tables:
- luna_pinyin
- luna_pinyin.sougou #搜狗187万词胞
- luna_pinyin.poetry #汉语诗词
- luna_pinyin.cn_en #中英文
- luna_pinyin.kaomoji #搜狗颜文字
- luna_pinyin.chengyusuyu #搜狗成语俗语
- luna_pinyin.emoji.apple #apple颜文字
- luna_pinyin.hanyu #汉语大词典
- luna_pinyin.shanghaihuadaquan #上海话大全
- luna_pinyin.sijixingzhenquhuadimingciku #四级行政区划地名词库
- luna_pinyin.mingxing #明星词库
- luna_pinyin.xiandaihanyuchangyongcibiao #现代汉语常用词表
- luna_pinyin.wangluoliuxingxinci #网络流行新词
- luna_pinyin.zhongguolishicihuidaquan #中国历史词汇大全
- luna_pinyin.shanghaishichengshixinxijingxuan #上海市城市信息精选
- luna_pinyin.emoji.scomper #scomper颜文字
- luna_pinyin.movie #电影词汇精选
- luna_pinyin.music #音乐词汇精选
功能键码注释
default.custom.yaml可自定义的功能按鍵有 Caps_Lock, Shift_L, Shift_R, Control_L, control_R,但是Mac系统的Squirrel无法区分左、右,因此只有对Shift_L, Control_L的设定器作用,具体可定义的内容有
- inline_ascii 在输入法的临时西文编辑区内输入字母、数字、符号、空格等,回车上屏后自动复位到中文
- commit_text 已输入的候选文字上屏并切换至英文输入模式
- commit_code 已输入的编码字符上屏并切换至英文输入模式
- clear 输入一段字符后按此键,字符被清除,同时切换为英文输入模式
自定义界面配色
鼠须管输入法的皮肤配色配置方案位于 squirrel.custom.yaml 配置文件中,官方也提供了一些皮肤外观配置,详见 squirrel.yaml 。这里也提供本人的配色方案:
patch:
show_notifications_when: appropriate # 状态通知,适当,也可设为全开(always)全关(never)
style/color_scheme: mritd_dark # 方案命名,不能有空格
preset_color_schemes:
mritd_dark:
name: 漠然/mritd dark
author: mritd <mritd1234@gmail.com>
horizontal: true # 水平排列
inline_preedit: true # 单行显示,false双行显示
candidate_format: "%c\u2005%@" # 用 1/6 em 空格 U+2005 来控制编号 %c 和候选词 %@ 前后的空间。
corner_radius: 5 # 候选条圆角
hilited_corner_radius: 3 # 高亮圆角
border_height: 6 # 窗口边界高度,大于圆角半径才生效
border_width: 6 # 窗口边界宽度,大于圆角半径才生效
border_color_width: 0
#font_face: "PingFangSC" # 候选词字体
font_point: 18 # 候选字词大小
label_font_point: 16 # 候选编号大小
text_color: 0xdedddd # 拼音行文字颜色,24位色值,16进制,BGR顺序
back_color: 0x4b4b4b # 候选条背景色
label_color: 0x888785 # 预选栏编号颜色
border_color: 0x4b4b4b # 边框色
candidate_text_color: 0xffffff # 预选项文字颜色
hilited_text_color: 0xdedddd # 高亮拼音 (需要开启内嵌编码)
hilited_back_color: 0x252320 # 高亮拼音 (需要开启内嵌编码)
hilited_candidate_text_color: 0xFFE696 # 第一候选项文字颜色
hilited_candidate_back_color: 0x4b4b4b # 第一候选项背景背景色
hilited_candidate_label_color: 0xffffff # 第一候选项编号颜色
comment_text_color: 0xdedddd # 拼音等提示文字颜色
#hilited_comment_text_color: 0xdedddd # 注解文字高亮
//我最喜欢的配色方案seraph
Seraph:
name: "Seraph"
author: "Joshua <joshua7v@hotmail.com>"
horizontal: false
inline_preedit: true
candidate_format: "%c\u2005%@\u2005"
corner_radius: 3
border_height: 5
border_width: 7
back_color: 0x333333 # BGR
hilited_candidate_back_color: 0xFFFFFF
hilited_candidate_text_color: 0x000000
hilited_candidate_label_color: 0x000000
font_face: "Lucida Grande"
font_point: 20
text_color: 0xAAAAAA
comment_text_color: 0xDDDDDD
label_font_face: "Lucida Grande"
# 应用程序的初始切换状态...目前已改用强大的hammerspoon的AutoIMESetting脚本
# Mac下可通过这条命令来查找程序ID名称:osascript -e 'id of app "Application_Name"'
"com.runningwithcrayons.Alfred-3/ascii_mode": true
"app_options/com.apple.dt.Xcode": true
"app_options/com.runningwithcrayons.Alfred-2/ascii_mode": true
"com.sublimetext.3/ascii_mode": false
"com.ScooterSoftware.BeyondCompare": true
"com.apple.Terminal/ascii_mode": true
"com.apple.calculator/ascii_mode": true
"app_options/org.keepassx.keepassx": true
"app_options/vim/ascii_mode": true
"org.vim.MacVim/ascii_mode": true
"app_options/org.mozilla.firefox": true
"app_options/com.apple.Safari": true
"app_options/code-url-handler/ascii_mode": true
实际视觉效果:
如果对配色有任何不满意的,可以安装图示进行调整,这里要注意两点:
- rime配色采用的是BGR模式,而非常见的RGB模式,取色后注意转换。
- 注意代码的缩进对齐,如果代码不起作用,大概率是因为没有对齐。
自定义快捷字符
如果日常输入需要用到大量快捷字符,可以配置字符。在中文输入法状态下可以直接输入 /dn 、/fs、/bq等,快捷地调出特殊符号;这些字符的配置保存在luna_pinyin_simp.custom.yaml 的 punctuator 配置中,具体见这个gist 。
想自己DIY制作词库的,可以看这篇文章 Rime输入法—鼠须管(Squirrel)词库添加及配置 。
最后,提供一些词库工具和配置文章,仅供参考。