08年開始使用 MacOS 買的第一款付費軟件就是 QIM 輸入法,這些年來一直在折騰輸入法可以說 MacOS 下的所有輸入法都各種翻來覆去的折騰過了。squirrel 真的算其中最棒的。也用了幾年,期間因爲詞庫的問題換回了搜狗。今天又想折騰一下,然後看着這些配置文件,居然懵了,又要出去看一遍人家寫的各種文章。還不如自己總結一下,至少下次就不用再出去找了。
安裝
brew cask install squirrel
使用 ctrl + ` 可以呼出輸入法方案選單,切換全半角、繁體之類的。
配置
各文件功能概述
用户资料夹内的文件说明如下,♥ 號的文件,包含用戶資料,在清理文件時要注意備份:
- default.yaml - 全局设定
weasel.yaml - 发行版设定
-
<方案标识>.schema.yaml - 预设输入方案副本
方案标识>
- ♥ installation.yaml - 安装信息,定义配置文件保存到 Dropbox 文件夹
- ♥ user.yaml - 用户状态信息
编译输入方案所产生的二进制文件:
-
<方案标识>.prism.bin
方案标识>
-
<词典名>.table.bin
词典名>
-
<词典名>.reverse.bin
词典名>
记录用户写作习惯的文件:
- ♥ <词典名>.userdb.kct - 用户词典词典名>
- ♥ <词典名>.userdb.txt、<词典名>.userdb.kct.snapshot 见于同步文件夾 - 用户词典快照词典名>词典名>
以及用户自己设定的:
- ♥ squirrel.custom.yaml - 自定义皮肤;
- ♥ default.custom.yaml - 用户对全局设定的定制信息,设定备选词数量,定义输入方案;
- ♥ <方案标识>.custom.yaml - 用户对预设输入方案的定制信息,定义扩充词库、加载符号库、模糊拼音;方案标识>
- ♥ 及配套的词典源文件 - 用户自制输入方案
基础配置
先刪除這些沒用的文件 cangjie5.*, luna_pinyin_fluency.*, luna_pinyin_simp.*, luna_pinyin_tw.*
default.yaml 是全局设定,不要動。新建文件 touch ~/Library/Rime/default.custom.yaml
, 内容如下:
# default.custom.yaml, 全局生效
# 添加小鹤双拼到方案选单
patch:
schema_list:
- schema: double_pinyin_flypy # 小鹤双拼
menu/page_size: 9 # 定制每页候选数
# 更改切换中西文的快捷键
ascii_composer:
good_old_caps_lock: true
switch_key:
Caps_Lock: commit_code
Control_L: noop
Control_R: noop
Shift_L: commit_code
Shift_R: commit_code
# 以方括号 “[" 和 “]” 来换页
key_binder/bindings:
- when: paging
accept: bracketleft
send: Page_Up
- when: has_menu
accept: bracketright
send: Page_Down
stroke.* 相關的文件是五筆畫輸入方案,小鶴雙拼依賴它故此即便刪除這些文件,再次部署也會自動出現。所以不用管它們。
外觀設定
squirrel.yaml 是輸入法默認的外觀配置,這個文件不要動。自己想添加的配置放在 squirrel.custom.yaml 中,內容如下:
patch:
show_notifications_when: appropriate # 状态通知,适当(appropriate),开(always)关(never)
style:
color_scheme: google
horizontal: true # 候选窗横向显示
corner_radius: 4 # 窗口圆角半径
border_height: 4 # 窗口边界高度,大于圆角半径才有效果
border_width: 6 # 窗口边界宽度,大于圆角半径才有效果
font_face: "PingFangSC-Regular,Noto Sans CJK TC" # 预选栏文字字体,使用中文字体:兰亭黑-纤黑
font_point: 18 #预选栏文字字号
label_font_face: "PingFangSC-Light,Myriad Pro Light" # 预选栏编号字体,使用西文字体:Myriad Pro Light
label_font_point: 18 #预选栏编号字号
# 關閉中文輸入
# @see [http://code.google.com/p/rimeime/wiki/CustomizationGuide#在特定程序裏關閉中文輸入]
#
# Bundle Identifier c查找方法:
# 右键『应用.app』-> 显示包内容
# Contents/Info.plist -> BundleIdentifier
# Bundle Identifier
app_options/com.microsoft.VSCode:
ascii_mode: true
app_options/com.adobe.Reader:
ascii_mode: true
app_options/com.apple.Xcode:
ascii_mode: true
app_options/com.runningwithcrayons.Alfred-3:
ascii_mode: true
app_options/com.apple.spotlight:
ascii_mode: true
app_options/com.apple.Terminal:
ascii_mode: true
app_options/com.apple.Safari:
ascii_mode: true
app_options/com.google.Chrome:
ascii_mode: true
app_options/com.google.Chrome.canary:
ascii_mode: true
app_options/org.mozilla.firefox:
ascii_mode: true
app_options/com.operasoftware.Opera:
ascii_mode: true
app_options/com.macromates.TextMate.preview:
ascii_mode: true
app_options/com.sublimetext.2:
ascii_mode: true
app_options/com.sublimetext.3:
ascii_mode: true
app_options/com.github.atom:
ascii_mode: true
app_options/org.vim.MacVim:
ascii_mode: true
app_options/com.googlecode.iterm2:
ascii_mode: true
app_options/com.kapeli.dash:
ascii_mode: true
app_options/io.brackets.appshell:
ascii_mode: true
app_options/com.kodowa.LightTable:
ascii_mode: true
app_options/com.adobe.Reader:
ascii_mode: true
app_options/net.sourceforge.skim-app.skim:
ascii_mode: true
app_options/org.mozilla.aurora:
ascii_mode: true
app_options/org.keepassx.keepassx:
ascii_mode: true
這裏主要修改輸入法的皮膚外觀和需要自動關閉中文輸入的 APP。
同步設定
编辑 installation.yaml 文件
sync_dir: "/Users/Victor/Dropbox/Apps/Rime"
在不同电脑间进行同步,会生成两个以 installation_id 命名的文件夹,分别存放了两者的配置。所以两者之间的配置是不会共享的,自己同步自己的。
但是用户词典是相互同步的。
詞庫
https://github.com/rime-aca/dictionaries 按照說明文件操作一下不麻煩。
自定義詞庫
我使用的是小鶴雙拼的配方,double_pinyin_flypy.custom.yaml 是一切的入口。
patch:
# 输入双拼码的时候不转化为全拼码
translator/preedit_format: {}
# 載入朙月拼音擴充詞庫
"translator/dictionary": luna_pinyin.extended
詞庫的入口是 luna_pinyin.extended.dict.yaml 然後可以按照下面的 方法 2 來配置詞庫了。
假設轉換了搜狗的動漫詞庫,命名爲 luna_pinyin.anime.dict.yaml 內容可以仿照 luna_pinyin.extended.dict.yaml
方法1:
# luna_pinyin.anime.dict.yaml
---
name: anime
version: "2015.1.10"
sort: by_weight
use_preset_vocabulary: true
import_tables:
- luna_pinyin
- luna_pinyin.extended
...
這是我的詞
接着需要修改 double_pinyin_flypy.custom.yaml,中將 translator/dictionary 設置成此字典檔即可,例如
patch:
translator/dictionary: luna_pinyin.anime
方法2:
# luna_pinyin.anime.dict.yaml 這裏不導入任何詞庫
---
name: anime
version: "2015.1.10"
sort: by_weight
use_preset_vocabulary: true
...
這是我的詞
然后修改 double_pinyin_flypy.extended.dict.yaml,导入自己创建的词库。
import_tables:
- luna_pinyin
- luna_pinyin.hanyu
- luna_pinyin.poetry
- luna_pinyin.cn_en
- luna_pinyin.anime
制作自己的词库可以查看这篇文章 Rime输入法—鼠须管(Squirrel)词库添加及配置
總結
- squirrel.custom.yaml,自定义皮肤。
- default.custom.yaml,设定备选词数量,定义输入方案。
- double_pinyin_flypy.custom.yaml,定义扩充词库、加载符号库、模糊拼音。
- luna_pinyin.extended.dict.yaml 扩展词库主文件,其他词库都需要在这个主文件中定义才能被调用,如果不想加载某个词库在此文件中注释掉即可(在所在行前加 # 井号)
- luna_pinyin.cn_en.dict.yaml 英文、中英文混合短语和名词
- luna_pinyin.hanyu.dict.yaml 汉语大词典
- luna_pinyin.poetry.dict.yaml 唐诗宋词、千家集、楚辞、诗经
- luna_pinyin.kaomoji.dict.yaml 颜文字表情符号
- luna_pinyin.emoji.dict.yaml 表情符号
- luna_pinyin.comprehensive.dict.yaml 80万词库「Rime词库扩展计划」的简体版本
- installation.yaml,定义配置文件保存到 Dropbox 文件夹
缺少的字體
Rime 鼠须管输入法删除字体不一的生僻字
例如:𫔭、𧹒、𫔮、𢧐、𫄙
其它
Rime 其实还支持英文提示和自定义短语,但是在 Mac 下都有更好的软件来替代,所以这两个功能被我干掉了。
2021.6.20 更新
最近设区有人开源了一套配制方案用起来更简单,建议用这个。
Rime 鼠须管(Squirrel)配置方案
- default.custom.yaml 修改 - 用户对全局设定的定制信息,设定备选词数量,定义输入方案
- schema_list 只保留小鹤双拼
- 删除 繁简体切换
- 删除 luna_pinyin_simp.schema.yaml, luna_pinyin_simp.custom.yaml
- 删除 double_pinyin.schema.yaml, double_pinyin.custom.yaml
- 删除 luna_pinyin.schema.yaml, luna_pinyin.custom.yaml
- 覆盖 installation.yaml - 安装信息,定义配置文件保存到 Dropbox 文件夹
- 覆盖 user.yaml - 用户状态信息
- 修改 squirrel.custom.yaml - 自定义皮肤
- 删除 custom_phrase.txt - 自定义短语
延伸閱讀