鼠须管(Squirrel) 是一款我用了很久的输入法软件。资源占用小,纯净无广告,有强大的定制功能。

它基于 Rime 中州韵引擎,根据 Rime 官网的介绍:

RIME/中州韻輸入法引擎,是一個跨平臺的輸入法算法框架。

基於這一框架,Rime 開發者與其他開源社區的參與者在 Windows、macOS、Linux、Android 等平臺上創造了不同的輸入法前端實現。

鼠须管其实就是 macOS 平台上实现的 Rime 输入法前端。

时隔 4 年,鼠须管再一次更新,上一次更新还是在 2014 年。

刚开始直接升级时出了一点问题,索性直接删掉从头开始安装,本文记录了全新安装鼠须管以及五笔输入法的极简配置,提供每一步操作后的结果,以供对照安装过程的执行结果。

一、安装鼠须管

最新版本: 0.11.1 (2019-01-21)

使用 brew 安装:

1
$ brew cask install squirrel

或者到 https://bintray.com/rime/squirrel/release 下载最新文件安装。

安装完成之后配置文件默认保存在 ~/Library/Rime 目录。

1
2
3
4
5
6
7
$ cd ~/Library/Rime
$ tree -L 1
.
├── build
├── installation.yaml
├── luna_pinyin.userdb
└── user.yaml

刚安装好目前只有 installation.yamluser.yaml 两个配置文件。

二、安装输入方案

0.10 版本起,输入方案不再预装,只保留了 朙月拼音

所以想用 五笔 或者 双拼 等输入方式,要自行安装。

2.1 安装 plum

/plum/ 东风破 是 Rime 的配置管理工具,可以用它来下载输入方案。

首先安装 /plum/:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$ curl -fsSL https://git.io/rime-install | bash
Cloning into 'plum'...
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 28 (delta 0), reused 12 (delta 0), pack-reused 0
Unpacking objects: 100% (28/28), done.
Installing for Rime frontend: rime/squirrel
...... # 省略中间一段 git clone 的输出
Updated ~ 21 files from 7 packages in '/Users/nathan/Library/Rime'

脚本实际把 https://github.com/rime/plum clone 到 plum 文件夹,并且初始安装一些输入方案到 ~/Library/Rime 中。

这时的 ~/Library/Rime 文件内容:

 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
$ cd ~/Library/Rime
$ tree -L 1
.
├── bopomofo.schema.yaml
├── bopomofo_express.schema.yaml
├── bopomofo_tw.schema.yaml
├── build
├── cangjie5.dict.yaml
├── cangjie5.schema.yaml
├── cangjie5_express.schema.yaml
├── default.yaml
├── essay.txt
├── installation.yaml
├── key_bindings.yaml
├── luna_pinyin.dict.yaml
├── luna_pinyin.schema.yaml
├── luna_pinyin.userdb
├── luna_pinyin_fluency.schema.yaml
├── luna_pinyin_simp.schema.yaml
├── luna_pinyin_tw.schema.yaml
├── luna_quanpin.schema.yaml
├── punctuation.yaml
├── stroke.dict.yaml
├── stroke.schema.yaml
├── symbols.yaml
├── terra_pinyin.dict.yaml
├── terra_pinyin.schema.yaml
└── user.yaml

除了最初安装后的 installation.yamluser.yaml 文件以外,还多了其他一些文件。

2.2 安装五笔

进入上一步执行完后创建的 plum 文件夹,运行 rime-install 脚本,安装五笔输入法,五笔反查功能用到了 pinyin-simp,所以一并安装。

1
2
$ cd plum
$ bash rime-install wubi pinyin-simp

检查五笔输入法是否安装成功:

1
2
3
4
5
6
$ ls ~/Library/Rime | grep wubi
wubi86.dict.yaml
wubi86.schema.yaml
wubi86.userdb
wubi_pinyin.schema.yaml
wubi_trad.schema.yaml

看到有 wubi86_xxxwubi_pinyin_xxx 文件,五笔输入方案安装成功,如果要安装其他输入方案的方法,参考 plum 主页

2.3 配置五笔

虽然安装好了五笔输入方案,但是鼠须管默认并不启用,要新建 ~/Library/Rime/default.custom.yaml 文件,写入以下配置,把 wubi_pinyin 加入 schema_list

1
2
3
patch:
  schema_list:
    - schema: wubi_pinyin

对我来说只保留一条 wubi_pinyin 足够。

点击系统栏里的鼠标管「ㄓ」图标,点一下「重新部署」(Deploy)。

重新部署鼠须管

试试看现在打出来的是不是五笔。

鼠须管五笔输入

三、更改配色

个人觉得 clean_white,apathy,mojave_dark 都挺好看的。

clean white:

鼠须管 clean white

apathy:

鼠须管 apathy

mojave dark:

鼠须管 mojave dark

之前用了很长时间的 clean_white,这次更新之后换成 mojave_dark,和系统的 dark mode 比较搭。

新建 ~/Library/Rime/squirrel.custom.yaml 文件,加入以下内容:

1
2
3
patch:
  style:
    color_scheme: mojave_dark

同样点击菜单栏里的图标,点一下重新部署,再输入的时候可以看到新的配色方案。

四、同步配置

有时候跨设备需要同步用户的词库文件,怎么办呢。

参考 官方文档,修改 ~/Library/Rime/installation.yaml,增加一行 sync_dir 配置。

installation.yaml 内容:

1
2
3
4
5
6
7
distribution_code_name: Squirrel
distribution_name: "鼠鬚管"
distribution_version: 0.11.0
install_time: "Fri May  3 22:54:54 2019"
installation_id: "11f9c385-414e-4a73-bce1-bcd5cf3354ff"
sync_dir: "/Users/nathan/Nutstore Files/RimeSync"
rime_version: 1.4.0

点击菜单栏里鼠须管图标,点击「同步用户数据」(Sync user data),会把配置文件和本地词库复制到 /Users/nathan/Nutstore Files/RimeSync/11f9c385-414e-4a73-bce1-bcd5cf3354ff 中。

例如另一台机器上已经安装好了鼠须管输入法, 这台机器的 installation.yaml 内容:

1
2
3
4
5
6
7
distribution_code_name: Squirrel
distribution_name: "鼠鬚管"
distribution_version: 0.11.0
install_time: "Thu Jul  5 10:09:21 2018"
installation_id: "b173e398-ae15-4a9f-8240-9a029e883d65"
sync_dir: "/Users/nathan/Nutstore Files/RimeSync"
rime_version: 1.4.0

需要注意的是,不同机器的 installation_id 不一样。

在任一台机器点击「同步用户数据」时,会进行以下几步操作:

  1. 提取 sync_dir 中所有子文件夹中的用户词库
  2. 合并本地的用户词库和子文件夹中的词库,产生一份新的本地用户词库
  3. 把新词库和用户文件夹中非生成的 yaml、txt 文件 单向备份 到同步文件夹

简而言之,就是先把其他机器的词库和本地词库合并,形成一份新的词库,再上传到备份文件夹中。

同步操作仅仅是合并词库,像 default.custom.yamlsquirrel.custom.yaml 这些文件并不会和其他机器上的配置进行合并,所以每个子文件夹中的配置文件保持独立,仍然需要在每机机器上都修改相应的配置。

五、其他实用设置

5.1 ascii_mode 指定软件默认使用英文输入

希望打开某些软件时默认用英文输入,比如 Alfred,iTerm2 等,修改针对这些软件的 ascii_mode 配置即可。

安装完后自带一些软件的配置,文件 /Library/Input Methods/Squirrel.app/Contents/SharedSupport/squirrel.yaml 中:

 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
app_options:
  com.apple.Spotlight:
    ascii_mode: true
  com.alfredapp.Alfred:
    ascii_mode: true
  com.runningwithcrayons.Alfred-2:
    ascii_mode: true
  com.blacktree.Quicksilver:
    ascii_mode: true
  com.apple.Terminal:
    ascii_mode: true
    no_inline: true
  com.googlecode.iterm2:
    ascii_mode: true
  org.vim.MacVim:
    ascii_mode: true
    no_inline: true
  com.apple.dt.Xcode:
    ascii_mode: true
  com.barebones.textwrangler:
    ascii_mode: true
  com.macromates.TextMate.preview:
    ascii_mode: true
  com.github.atom:
    ascii_mode: true
  com.microsoft.VSCode:
    ascii_mode: true
  com.sublimetext.2:
    ascii_mode: true
  org.gnu.Aquamacs:
    ascii_mode: true
  org.gnu.Emacs:
    ascii_mode: true
    no_inline: true
  co.zeit.hyper:
    ascii_mode: true

但是发现默认配置不支持 Alfred 3,修改 ~/Library/Rime/squirrel.custom.yaml,加入自己的 patch 配置:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
patch:
  style:
    color_scheme: mojave_dark
  app_options:
    com.runningwithcrayons.Alfred-3:
      ascii_mode: true
    com.apple.Spotlight:
      ascii_mode: true
    com.apple.Terminal:
      ascii_mode: true
      no_inline: true
    com.googlecode.iterm2:
      ascii_mode: true
    com.microsoft.VSCode:
      ascii_mode: true
    org.gnu.Emacs:
      ascii_mode: true
      no_inline: true

我加上了常用的 Alfred-3、Spotlight、Terminal、iTerm2、VSCode、Emacs 几个软件。

com.googlecode.iterm2 这样的配置项学名叫 BundleIdentifier,可以从软件安装文件里的 Info.plist 文件找到,比如查找 iterm2 的 BundleIdentifier:

1
2
3
4
$ cd /Applications/iTerm.app/Contents
$ grep -B1 CFBundleIdentifier Info.plist
#	<key>CFBundleIdentifier</key>
#	<string>com.googlecode.iterm2</string>

其中 <string> 部分的 com.googlecode.iterm2 就是 iterm2 的 BundleIdentifier。

patch 之后的配置会覆盖初始配置,所以默认配置中的 Alfred、Alfred-2、Quicksilver 这些就失效了。

ascii_mode 效果演示:

启用 ascii_mode 前,默认输入中文:

Squirrel 默认输入中文

启用 ascii_mode 后,默认输入英文:

Squirrel ascii_mode 输入英文

总结

Rime 引擎功能强大,macOS 上的鼠须管干净好用顔值高。

虽然安装配置过程需要花一些工夫,看起来比较 geek,不过配置好一次之后也就省心了。

有了这一款软件,基本告别百度、搜狗等等国产输入法。而且它还支持各种输入方案的配置,包括粵拼、吳語等等小众的输入方式。

如果你想找一款可以一直安心用下去的输入法,或者一款有强大配置能力的输入法,或者一款支持你所用小众输入方案的输入法,不妨下载 Rime 尝试一下。

我自从用了 Rime 之后,再也回不去别的输入法。