「一个开源且能够高度定制化的输入法」是许多人对 Rime 输入法最为直观的印象。但是其官方文档复杂且散乱,作为主体的中州韵输入引擎和诸如鼠须管与小狼毫之类的各系统发行版都有各自的长篇累牍;并且,官方文档侧重于极度小众的输入方案配置,致使许多人在尝试的第一时间便选择放弃。
本文则试图将下载与配置鼠须管的过程以最为简洁的形式呈现在你眼前。同时,本文将尝试向你提供互联网上久未有人撰写的鼠须管皮肤配置指北。希望鼠须管本身简陋的外观不再成为阻挡你使用它的理由。
注意,鼠须管是 Rime 输入法在 macOS 发行的版本,Linux 发行版和 Windows 发行版表现可能与 macOS 发行版表现不同。
本文完全由人类写作而成。本文不假设你具有任何代码编写经验和输入法配置经验,零基础读者可以放心阅读。由于少数派的行内代码样式较为简陋,你可以移步至作者的个人博客发布进行阅读:https://morristin.github.io/blueberry-tech/squirrel-tutorial/ 。
安装鼠须管 Squirrel 与 雾凇拼音 rime-ice
在这一部分中,我将尝试将两者的安装方案聚合,给出步骤最少的操作方案。如果你已然在电脑上安装完毕鼠须管与任意输入方案,你可以跳转至皮肤配置部分继续阅读。
鼠须管 Squirrel
鼠须管的安装无需赘述。中州韵官网会根据你所使用的系统简洁明了地提供下载链接。
如果你不在意版本更新,希望获取写作本文时所使用的鼠须管最新版本(版本号 1.1.2,发布于二〇二六年一月十四日)以避免可能出现的额外问题,可以在此处进行下载。
如果电脑上已经安装并希望使用 Homebrew 包管理器下载应用,请在终端运行命令:
brew install --cask squirrel-app将鼠须管设置为输入源
鼠须管需要被手动添加为输入源。参考以下步骤来添加该输入法:
- 单击菜单栏中输入法图标并点击最下方「打开键盘设置」,或是手动打开设置导航到该位置。
- 在该窗口的左下角单击加号添加鼠须管。注意鼠须管被归类为中文输入法而非其他。
如果你设置了不在菜单栏显示输入法图标,建议你暂时将该图标的显示开启。接下来大量操作在开启该图标显示的情况下会得到简化。
雾凇拼音
雾凇拼音是中州韵输入法最为有名的简体输入解决方案之一。仓输入法等开箱即用发行版的 Rime 输入法基本都使用雾凇拼音作为其默认输入方案。本文也将选择雾凇拼音作为输入方案。(自定义定制输入方案不是本文讨论的内容,请有需要的用户移步至各官方文档。)
雾凇拼音的本质是一系列配置文件的集合,而不是独立的应用。因此其必须安装在 Rime 的用户目录供 Rime 输入法读取。
在终端中执行下列命令以将工作环境切换至 Rime 用户目录。(这假设你当前的工作目录是 ~,也即终端的默认启动目录。如果命令执行失败,检查是否成功将鼠须管设置为输入源。)
cd Library/Rime东风破 plum 是由 Rime 开发的轻量级配置管理工具,使用它能够更方便地对输入方案进行管理与更新。运行下列指令,会将 plum 和雾凇拼音先后安装至 Rime 用户目录。
git clone https://github.com/rime/plum.git plum
bash plum/rime-install iDvel/rime-ice:others/recipes/full如果你熟悉 git 相关操作,你也可以直接使用 git 下载雾凇拼音。
git clone https://github.com/iDvel/rime-ice.git Rime --depth 1配置鼠须管皮肤
Rime 输入法所有配置文件都使用 YAML 格式。如果你不了解 YAML 语法,请确保你拥有一个能够高亮 YAML 语法的文本编辑器。例如 macOS 原生风格的 CotEditor。
一切准备就绪后,打开鼠须管用户目录下的皮肤设置文件 squirrel.yaml。你可以在通过点击菜单栏中的输入法图标并在下拉菜单中点击鼠须管下的 Settings... 选项来快速打开该文件夹。
Squirrel 官方推荐新建一个文件 squirrel.custom.yaml 来进行自己的配置重载。但是根据笔者的实践经历,这种重载会导致皮肤加载不正确。
后文中绝大部分配置代码都保留了来源于雾凇拼音配置文件的注释以供读者参考。
创建一个新的皮肤
在打开的文件中找到 preset_color_schemes 这一栏,填写你创建皮肤的名称和基本信息。如果你已经导入了雾凇拼音等比较著名的输入方案,其中应该已经存在部分皮肤预设供你模仿。
origin_light:
name: 原色 Light
author: Morristin <yourmail@domain>name 与 author 都只是纯粹的描述性文本。你不需要遵循任何格式,甚至可以略去。
创建完毕后,在这一栏上方找到 style 更改当前选取的皮肤。鼠须管的皮肤支持随系统是否开启暗黑模式而变化。因此,你可能需要在创建两份颜色参数存在差异的皮肤以匹配对应样式。
style:
color_scheme: origin_light
color_scheme_dark: origin_dark将所创建的皮肤进行部署
在输入法图标下拉菜单中点击 Deploy 或者使用快捷键 ⌃ ⌥ ` 均可进行部署。
但你也许和笔者一样,在配置过程中遇到了鼠须管彻底卡死,无法进行部署甚至无法将输入法切换到鼠须管的情况。此时如果你不想重启电脑,可以使用命令行执行如下命令进行部署:
/Library/Input\ Methods/Squirrel.app/Contents/MacOS/Squirrel --reload候选项与输入码的外观样式
# 候选框与文字的排列方式
candidate_list_layout: stacked # stacked | linear 皮肤横竖排显示
text_orientation: horizontal # horizontal | vertical 文字方向
# 拼音或词句是否显示在键入位置
inline_preedit: true # true | false 键入码显示位置
inline_candidate: false # true | false 选中词显示位置如果你在你的皮肤不指定其中的部分配置,部分配置会使用配置文件中指定的通用配置。另有部分选项,如一页中显示的候选项个数,需要在另一文件中进行更改。请参阅配置鼠须管行为。
字体设置
需要注意,鼠须管对于字体值的处理与网页开发并不完全一致。
font_face: "Noto Serif SC"
font_point: 14
label_font_face: "Noto Serif"
label_font_point: 15
comment_font_face: "Times New Roman, LXGW WenKai"
comment_font_point: 13如果你需要使用多个字体,例如分别指定不同的西文字体与中文字体,请务必将所有字体名称用逗号分隔后统一包括在引号内,而不是分别使用引号包括再使用逗号分隔。
字体的名称可以通过 macOS 自带的 Font Book 应用查询。应用中显示的字体名称一般与鼠须管配置文件所能接受的字体参数一致。
如果你是第一次使用 Rime 输入法,你可能会对 comment_font 感到疑惑。comment 通常用作拼音纠正的提示文本。你可以在雾凇拼音下输入 annai 来查看效果。
候选项格式调整
候选项格式由 candidate_format 进行控制。Rime 会替换 candidate_format 中的占位符得到最终需要显示的内容。
candidate_format: "\u2004[label].\u2002[candidate] [comment]\u2002\u2006"需要注意,互联网上绝大多数鼠须管皮肤的候选项格式都采用已经被弃用的格式编写。即使鼠须管仍然支持解析旧候选项格式语法,将其进行转换可能是一个不错的选择。
| 旧版格式控制符 | 1.0 后新版格式控制符 |
|---|---|
%@ | [candidate] [comment] |
%c | [label] |
笔者在 candidate_format 中使用了大量 Unicode 字符表征不同长度的空白;使用这种方式可以确保格式控制被正确解析且具有更好的观感。你可以自行搜索 Unicode 空白字符相关内容。
候选项外观调整
translucency: true # 磨砂: true | false
mutual_exclusive: true # 色不叠加: true | false
border_height: 2 # 外边框 高
border_width: 3 # 外边框 宽
corner_radius: 8 # 外边框 圆角半径
hilited_corner_radius: 5 # 选中框 圆角半径
surrounding_extra_expansion: 0 # 候选项背景相对大小?
shadow_size: 20 # 阴影大小
line_spacing: 8 # 行间距
base_offset: 2 # 字基高
spacing: 0 # 拼音与候选项之间的距离如果你希望皮肤取得透明效果,请务必设置 translucency 为 true。如果不开启该效果,最终文字的可读性会远低于你的预期。
我个人不推荐设置 alpha 设置项。alpha 选项会控制鼠须管皮肤全局透明,这将导致被选中的选项也会透出下方的颜色使得可读性降低。
事实上,其中许多选项的调整都无法看出明显的效果;因而你不必拘泥于我的配置方案,官方提供的皮肤可能是一个更好的参考源。你可能需要反复试验来敲定最终的皮肤表现。
在笔者的操作过程中,存在如下可能需要引起你注意的点:
- 第一候选项上方可能会出现额外空间,使得第一候选项视觉上不在底色中心。
- 边框的圆角半径可能无法按照你的预期工作,尤其是将圆角半径设置得过大时。
候选项颜色调整
color_space: display_p3 # 色彩空间 srgb | display_p3
back_color: 0x33F6F6F6 # 底色
hilited_candidate_back_color: 0xFFED6E2F # 选中底色
label_color: 0xFF808080 # 序号颜色
hilited_candidate_label_color: 0xFFFFFFFF # 选中序号颜色
candidate_text_color: 0xFF4A4A4A # 文字颜色
hilited_candidate_text_color: 0xFFFFFFFF # 选中文字颜色
comment_text_color: 0xFF808080 # 注颜色
hilited_comment_text_color: 0xFFFFFFFF # 选中注颜色如果你拥有相关专业知识,自行挑选颜色是一个很轻松的选择。笔者对色彩完全不了解,因而选择了复制 macOS Tahoe 官方输入法配色的方案:
- 打开 macOS 自带的 Digital Color Meter 并切换到官方输入法,取色器会显示你当前鼠标指向的颜色 RGB 值。只需要多次取色并记录即可得到各部分对应的颜色。
- 将 RGB 值转换为鼠须管要求的颜色格式。鼠须管要求颜色必须以
0x开头,使用AABBGGRR格式表征透明度与颜色。
这里附上一份暗黑模式下通过此方法取得的成果。需要注意,输入法覆盖范围内的像素点呈现的颜色并不一致,尤其是在 Liquid Glass 高度的高光与透明的影响下。
color_space: display_p3 # 色彩空间: srgb | display_p3
back_color: 0x33292828 # 底色
hilited_candidate_back_color: 0xFFF67834 # 选中底色
label_color: 0xFF666666 # 序号颜色
hilited_candidate_label_color: 0xFFFFFFFF # 选中序号颜色
candidate_text_color: 0xFFFFFFFF # 文字颜色
hilited_candidate_text_color: 0xFFFFFFFF # 选中文字颜色
comment_text_color: 0xFF666666 # 注颜色
hilited_comment_text_color: 0xFFFFFFFF # 选中注颜色配置鼠须管行为
配置鼠须管行为并不是我们要讨论的主题。但若是考虑到某些输入法行为对外观的影响,其中的部分行为也应该被归类到皮肤配置的范畴中。其配置文件为用户目录下的 default.yaml。
该文件中,与皮肤样式强相关的部分只有两处:
- 候选词个数,控制在同一页显示多少备选项。位于
menu - page_size。 - 中英文切换,控制按下不同修饰键时的输入法表现。位于
ascii_composer - switch_key。
macOS 系统级使用 CapsLock 作为中英文切换。因此,在系统级保留英文输入法并且完全禁用鼠须管的英文输入模式不失为一种良好的选择,也即将 Shift_L 与 Caps_Lock 均设置为 noop。倘若初次设置完毕时处于英文输入模式,可以按下 F4 呼出方案选单进行调整。
必须要指出的是,雾凇拼音等许多配置方案都指出不能够将 Caps_Lock 设置为 noop。但从笔者亲身经历来看,如此设置不仅能够正常运行,同时还可以避免部分情况下切换到中州韵时处于英文输入状态或是弹出并不好看的中州韵输入法状态指示器。
