Saber 酱的抱枕

Fly me to the moon

10/4
2024
软件

开始使用小狼毫输入法,以及简单的教程

小狼毫输入法 no_lazy

我在寻找新的输入法,这次试了试久闻大名的小狼毫输入法,它是一个开源、免费、无广告的本地输入法。试了下体验不错,而且也很易用。要说门槛的话就是一些自定义选项需要通过修改配置文件来实现(这不是必须的)。

我花了点时间摸索了下,并写个简单的教程,希望可以帮助到别人。

安装

从小狼毫官网下载并安装:
https://rime.im/download/

它属于“RIME 输入法框架”,该框架在不同平台上有不同的实现,Windows 上的就是“小狼毫输入法”。

一路默认安装即可,你也可以自行调整一些选项。比如中间有一个步骤可以勾选你要启用的输入方案:

小狼毫输入法

安装之后,按输入法切换键(Win + 空格,或者 Ctrl + Shift 之类)可以切换到小狼毫输入法。那么它的图标是什么样的呢?其实根据系统设置不同会有所区别。

如果没有启用“使用桌面语言栏”,它会在系统托盘里显示“中”字图标:

如果启用了“使用桌面语言栏”,它会在屏幕右下角显示这样的图标:

不启用“使用桌面语言栏”比较好,这样可以在系统托盘里的“中”字上右键,显示小狼毫输入法的菜单。反之,在桌面语言栏上右键是不行的。

现在可以使用小狼毫输入法了,但是它也没有流行词汇,比如“原神”也是不存在的:

小狼毫输入法

这是因为默认状态下的它只是一个比较纯净的输入法。我们可以给它导入词库,或者是一整套“配置方案”,不仅包含词库,还调整了一些选项配置、优化了输入体验。

这里先提一下,在切换到小狼毫输入法时,按 F4 可以查看和切换当前已经启用的输入方案列表:

小狼毫输入法

除了默认的输入方案,我们也可以下载别人制作的方案,使其显示在这里。

使用雾凇拼音方案

获取配置文件

雾凇拼音是一套开源并且持续维护的方案,这是它的 release 页面:

https://github.com/iDvel/rime-ice/releases

下载 full.zip 并解压,里面有很多文件,还包括了一些其他的输入方案:

之后我们打开小狼毫输入法的配置目录,默认安装的话是在 %APPDATA%\Rime 文件夹里。我们可以复制这个路径粘贴到资源管理器的地址栏里,回车打开。

然后把前面解压出来的文件都复制(或移动)到这个文件夹里。

启用

然后在系统托盘的“中”字图标上右键,点击“输入法设定”:

如果你的系统托盘里没有这个图标,可以在开始菜单里搜索“配置”找到小狼毫的“输入法设定”:

在底部可以看到我们刚才添加的方案“雾凇拼音”,勾选它。

雾凇拼音的完整包里还附带了几种其他输入方案,有需要的话也可以选择。列表如下:

  - schema: rime_ice               # 雾凇拼音(全拼)
  - schema: t9                     # 九宫格(仓输入法)
  - schema: double_pinyin          # 自然码双拼
  - schema: double_pinyin_abc      # 智能 ABC 双拼
  - schema: double_pinyin_mspy     # 微软双拼
  - schema: double_pinyin_sogou    # 搜狗双拼
  - schema: double_pinyin_flypy    # 小鹤双拼
  - schema: double_pinyin_ziguang  # 紫光双拼

变更启用的输入方案后,屏幕右下角会显示一条“维护中”的通知:

这个通知很快就会消失,表示修改已生效。

之后按 F4 显示当前已启用的输入方案,选择“雾凇拼音”即可使用。

简单体验

这下可以打原神了:

雾凇拼音把默认的竖排候选改成了横排,更符合大部分人的使用习惯(至少在大陆是这样吧)。

雾凇拼音还有很多方便的功能(以及配置说明),具体可以查看文档:
https://dvel.me/posts/rime-ice/#%e5%9f%ba%e6%9c%ac%e5%a5%97%e8%b7%af

我列举一些试过的:

输入大写的 R 后面跟阿拉伯数字,可以显示对应的中文数字:


输入时间日期:

这个功能许多输入法都有,比如输入“时间”的缩写 sj 就会出现当前时间的字符:

雾凇拼音也有这个功能,而且还多了完整时间的缩写 dt

输出时间戳的 ts(以秒计):

还有农历 nl


Emoji 表情

在网上冲浪怎么少得了 Emoji 表情呢?之前我用的微软拼音也有 emoji 功能,但我经常觉得不好用,因为我感觉微软拼音适配的 emoji 数量较少,经常打不出来。比如“热”在微软拼音里就不会出现对应的 emoji。雾凇拼音则可以:

还有“对”的符号,微软拼音没有出现 emoji:

雾凇拼音则有 3 个:


雾凇拼音里可以调出来的 emoji 不仅数量多,而且有多对一,比如:

当我们需要某个 emoji 的时候,凭直觉打字就可以,因为多个候选词可以指向同一个 emoji。而微软拼音就不行了。

比如雾凇拼音可以输入“鬼”选择👻:

但在微软拼音里只有一个“标准答案”,必须输入“幽灵”才行,用起来不方便。


另一个重磅功能就是 emoji 分类列表。以往当微软拼音的候选词里没有我需要的 emoji 的时候,就得手动打开它的 emoji 选择面板。而是在雾凇拼音里可以直接用 V + 分类名的方式来显示 emoji 列表,更加便捷。

例如输入 Vbiaoqing

输入 Vdongwu:

输入 Vshuiguo:

很多分类命都可以凭直觉联想,非常方便。比如表情、水果、动物、植物、自然、运动、器官、心心等。

你可以在雾凇拼音的字典配置文件 rime_ice.dict.yaml 里查看所有可用的分类。

自定义

小狼毫输入法有很多自定义选项,都是通过覆写特定设置的默认值来实现的。我只记录了我尝试过的修改,如果你需要进行更多修改,可以自行搜索或参考官方指南:Rime 定製指南

重新部署

先讲一下重新部署功能吧,后面会用到。当我们手动修改了配置文件后,需要重新部署来使其生效。

从托盘右键菜单里运行“重新部署”:

如果你的托盘里没有小狼毫的图标,可以从开始菜单里搜索:

之后屏幕右下角会显示维护中的通知:

等待几秒后这个通知会消失,表示部署完成了。再次打字应该就可以看到修改生效了。

自定义文本

可以在 custom_phrase.txt 里添加定义文本(短语)。

格式是 短语<TAB>输入字符。我添加了几条试了试:

https://saber.love  sab
[email protected]    qqm
绝区零 zzz
Genshin Impact  gi
xyplorer    xyp

保存后重新部署即可生效。

注意:

  • 自定义短语在前,输入字符在后
  • 自定义短语可以有空格
  • 自定义短语和输入字符之间用制表符隔开,不能使用空格

最后一点我踩了一点坑,因为我的 VSCode 默认缩进方式是 2 个空格,我输入的 Tab 被自动转化成了空格,导致自定义短语未能生效。还不如直接用记事本修改省心。

修改启用的输入方案列表

在小狼毫输入法的托盘图标上右键,选择“输入法设定”即可:

更换皮肤

方法同上,在选择输入方案之后,就会出现皮肤列表界面:

这里显示的预览是竖排的,但对于横排也是有效的。

如果你换成新的皮肤后,发现部分窗口里还是之前的皮肤,可以点击右键菜单的“重新部署”解决此问题。

输入方案的二级菜单

当我们按 F4 选择了某个方案之后,会出现一个二级菜单:

每个输入方案都可以定制这个菜单,这里显示的是雾凇拼音的菜单。

在这个菜单里可以调整一些功能选项,这些修改是临时的(不过也可以改成持久的)。比如你在记事本里打字,修改了这些设置;当你关闭记事本,下次重新打开时,这些选项会变回初始状态。

  • 第二项“中 → A”可以切换到“A → 中”,其实就是等于按了一次 shift。
  • 第三项是切换货币符号
  • 第四项可以进行简繁切换
  • 第五项可以控制候选词里是否显示 emoji 表情
  • 第六项可以切换全角、半角(需要翻页才能看到这个选项)

使用 patch 覆写设置

接下来的一些自定义功能需要修改配置文件。当我们想要修改某个设置时,首先需要知道它在哪个 yaml 文件里。通常我们会用到这两个配置文件:default.yamlweasel.yaml,这是小狼毫输入法的默认行为和默认外观配置。具体的输入方案(如雾凇拼音)里也可能有我们想要修改的配置。

你可以打开这些文件看看,如果要修改其默认配置,可以在其对应的 .custom 文件里修改(这是为了避免直接修改原文件)。我看了下里面的配置项也不算很多。

  • weasel.yaml 里的配置在 weasel.custom.yaml 里修改;
  • default.yaml 里的配置在 default.custom.yaml 里修改。
  • 雾凇拼音 rime_ice.schema.yaml 里的配置在 rime_ice.custom.yaml 文件修改。

如果没有对应的 .custom 文件,可以自行新建。

.custom 文件里可以使用 patch 字段覆写原有设置的值,也可以在一些选项里添加/删除子项。

修改候选词数量

雾凇拼音默认显示 5 个候选词,这个数字是小狼毫输入法的默认设置,雾凇拼音没有进行修改。

如果你想修改候选词数量的话,可以编辑 default.custom.yaml,在 patch 字段下面添加配置项:

  "menu/page_size": 6

注意:使用两个空格作为缩进,不要使用 Tab。

看起来可能是这样的:

修改后保存,并重新部署,就可以生效了。

修改候选词横排/竖排

小狼毫输入法的候选词列表默认是竖排的,雾凇拼音则改为了横排。不论如何,如果你想修改排列方式,都可以编辑 weasel.custom.yaml,在 patch 字段下面添加这个配置项:

  "style/horizontal": true

这是控制候选词是否横排的选项,值为 true 是横排,false 是竖排。

修改保存后,重新部署即可生效。

修改字号

weasel.yaml 里我们可以看到字体大小等设置:

如果想修改的话,可以在 weasel.custom.yaml 里覆写这些设置。比如我觉得字号有点大,就改小了一号:

  "style/font_point": 13
  "style/label_font_point": 13

修改后重新部署即可。

修改字体

修改字体也是在 weasel.custom.yaml 里修改的,比如我要把默认的微软雅黑改为思源黑体,可以把思源黑体的名称添加到字体列表的最前面:

  "style/font_face": "Source Han Sans SC, Segoe UI Emoji, Microsoft YaHei, SF Pro, Noto Color Emoji"

修改后重新部署即可。

来看看不同字体的对比,上面是微软雅黑,下面是思源黑体:


微软雅黑在外观上看起来比较“胖”,每个字都撑的满满当当的。而思源黑体就更有松弛感。


有一个需要注意的地方:因为我想让候选字显示为简体中文的字形,所以字体名称最后需要加 SC(Source Han Sans SC),或者直接写中文名字 思源黑体,这表示简体中文子集。如果不指定地区的话会显示日文的字形,如:


注意“芦”的字形,是日文里的样式。

关于此问题的具体原因,因为篇幅展开来讲比较长,我单独写了一篇文章:

思源黑体的一些入门知识

修改皮肤配色

weasel.yaml 的 preset_color_schemes 字段里,保存着所有内置皮肤的配色方案:

如果你有一个看的顺眼的皮肤,那就没必要修改了。想修改的话可以覆写当前皮肤的配置,方法在官方指南里有说明:

定製【小狼毫】配色方案

默认使用英文输入

雾凇拼音默认使用中文输入。可能有的用户习惯使用英文输入作为默认状态。

其实我觉得默认中文比默认英文好,容错更高,因为如果在需要输入英文时看到了中文候选框,那么直接按 shift 即可将英文上屏,不需要重新打字,没什么损失。

相反,如果默认是英文,那么当需要输入中文时,对于意外输入的英文字母需要删掉重新打,浪费时间。

不过我还是试了如何将默认状态改为英文。前面说到过,雾凇拼音有个二级菜单可以设置中英文状态:

很多其他输入方案也有类似的菜单。雾凇拼音的这个菜单是在 rime_ice.schema.yaml 里配置的,如下:

可以看到每个菜单有两个状态,并且可以使用 reset 设置默认值。

ascii_mode 有两个选项 [ 中, A ],默认是第一个选项,所以默认是中文输入。使用 reset 将其改为 1 即可把默认输入改为英文。

因为这个选项是在 rime_ice.schema.yaml 里,所以我们需要建立个对应的 custom 文件来修改。

新建 rime_ice.custom.yaml 文件,并在其中进行配置:

patch:
  "switches/@0/reset": 1

之后重新部署即可生效。

这个选项 "switches/@0/reset" 的意思是:修改 switches 列表里的第一条配置项的 reset 属性。因为 switches 是个列表,所以可以使用索引的方式。

在特定程序里默认使用英文输入

小狼毫输入法可以针对特定程序使用特定的设置,比如默认使用中/英文输入。这点在 weasel.yaml 里可以看到示例:

当默认输入状态是中文时,我们可能想在特定程序里改成默认英文,比如 cmd.exe 里,或者在一些游戏里。

如果游戏里默认是中文输入,那么大量的输入(如长按 W 键奔跑时)可能会导致输入法一直在运行,并可能会导致游戏卡顿。(不过我习惯在游戏时保持大写锁定,这样可以把输入状态锁定在英文)。

我们可以在 weasel.custom.yaml 的 patch 字段里进行设置,例如:

app_options/cmd.exe:
    ascii_mode: true
  app_options/StartMenuExperienceHost.exe:
    ascii_mode: true
  app_options/ffxiv_dx11.exe:
    ascii_mode: true

ascii_mode 的 true 表示默认英文,false 表示默认中文。

然后重新配置即可。

但是,冲击的事实!这个方法在有些程序里是无效的,比如 cmd、开始菜单,它们默认还是中文,我也不知道为什么。有人遇到了同样的问题,但目前我并没有看到解决办法:
https://github.com/rime/home/issues/1537

不过对于普通程序都是可以生效的,我试了 qq.exe、notepad.exe、Code.exe 等都可以。但是在 cmd 里不生效有点蛋疼。

要不别折腾了,在 cmd 里老老实实按一次 shift 完事。

如果非要在 cmd 里默认使用英文,也不是不行,可以反向思维:先把所有程序都设置为默认英文(这点在上面讲过),然后针对特定程序使用中文。如下:

  app_options/Chrome.exe:
    ascii_mode: false
  app_options/QQ.exe:
    ascii_mode: false
  app_options/WeChat.exe:
    ascii_mode: false
  app_options/Notepad.exe:
    ascii_mode: false
  app_options/explorer.exe:
    ascii_mode: false
  app_options/xyplorer.exe:
    ascii_mode: false

我不得不承认这非常蛋疼,未来还可能要加更多的程序进去,比如 Office 软件等…… 还是不要使用此方式了。

最后我改回了默认中文,cmd 随它去吧。

备份和同步

小狼毫输入法是纯本地的,没有自己的账号系统和云端同步功能。

你可以手动备份;如果想使用云端同步的话,得自己使用云服务,比如 OneDrive 或其他网盘的同步功能。

如果想同步,可以在网盘同步目录里建立一个文件夹,然后修改 installation.yaml

小狼毫输入法

installation_id 改为自定义的设备名称,然后添加 sync_dir 设置同步文件夹路径。修改后不需要重新部署。

当你想要备份时,点击小狼毫输入法菜单的“用户资料同步”:

小狼毫输入法

它会在这个目录里建立一个设备名文件夹,如 PC1,然后把必要的文件复制进去:

小狼毫输入法

可以看出,这个备份功能不是全自动的,还是得手动操作,只是免去了手动复制文件的麻烦。还好一般也不需要频繁备份。

如果你有多台设备,在另一台设备上需要手动同步。先通过云服务获取该文件夹,然后把文件复制到 %APPDATA%\Rime 文件夹里,并重新部署使其生效。

导出和导入用户词典

提示:上面讲的“用户资料同步”会自动备份用户词典,所以这里基本只有在导入词典时会用到。

右键菜单里有个“用户词典管理”:

小狼毫输入法

先在左侧选择一个输入方案,然后在右侧可以导出和导入它的用户词典。

小狼毫输入法

所谓“用户词典”指的是你自己打过的字,它不是输入方案自带的完整词典。

小狼毫输入法

在前面设置过同步目录的话,导出的用户词典会直接保存到同步目录里。

开始使用小狼毫输入法,以及简单的教程