macOS安装配置RIME-鼠须管输入法

macOS安装配置RIME-鼠须管输入法

RIME输入法简介

这个文档可以让你对RIME输入法引擎有一个全局的了解:Rime 輸入方案

网页版RIME输入法:My RIME

什么是RIME输入法?

RIME一个开源(github)的可高度定制的输入法(框架),RIME是一个递归缩写:RIME Input Method Engine(计算机领域有很多递归缩写,比如GNU — GNU’s Not UNIX、PHP – PHP HyperText Preprocessor)。

之所以说它是一个输入法框架(或引擎),是因为它可以高度定制,你甚至可以用它创造自己的输入法(其实输入法的根本就是词库而已)

为什么要使用鼠须管输入法?

有三个原因:

  • 1、鼠须管是开源的软件,它是一个输入法引擎(而不仅仅是输入法),你可以用它安装或自己定制任何输入法(例如各种方言输入法),由于高度可定制,你甚至可以用它创造一个自己的输入法,不像一些公司出的输入法软件,没那么多的定制性;
  • 2、你在电脑上输入的所有字符都是由输入法输入的,为了避免可能存在的输入法偷偷上传数据,故不使用百度/搜狗之类的输入法。
  • 3、我是打五笔的,我经常需要自己造词或删除原词库中的词,而鼠须管更方便我造词以及手动调整词频。

跨平台

RIME在Win/Mac/Linux/Android/iOS都可以使用,不过三个平台的名字有点不一样,但配置都是相通的。

如下图所示,RIME在三平台的名字不一样,以下是RIME官方维护的版本,除此之外还有很多非官方维护版本,可以看这里
-w1021
虽然Linux版本叫中州韵,但整个RIME输入法也被称为“中州韵输入法引擎”,名称的由来是因为该软件作者“佛振”是河南人,而河南古时候叫中州,故名中州韵。

RIME输入法使用配置专用语言——yaml语言来写配置,非常方便,比json方便1万倍不止。

RIME的配置文件基本一样,除了平台相关的会有不一样,比如macOS有一个叫squirrel.yaml的配置文件,专门用于配置Mac上的Squirrel.app的一些皮肤及软件本身的配置,而在Windows上与squirrel.yaml具有相同作用的配置文件叫weasel.yaml,在Linux上这个文件叫什么我就不知道了,因为没有安装过,但基本上,这个配置其实就是平台软件名.yaml。其它配置都是通用的了,比如词库什么的。

安装鼠须管输入法

命令安装(推荐)

运行以下命令安装

brew install --cask squirrel

注意安装过程需要输入管理员密码,并且输入后你可能会发现没有反应,其实它是在配置东西,稍等一会儿就好了。

安裝后需要重启电脑,以及可能需要自己去输入法那儿删掉重新添加。

Rime
├── build
├── installation.yaml
├── luna_pinyin.userdb
└── user.yaml

手动安装

下載及安裝页面,找到macOS,点击“下载”两字即可下载
-w815

无论是命令安装还是手动安装,一般安装后,点开右上角输入法图标即可看到多了一个“鼠须管”输入法,如果你是英文系统会显示“Squirrel”(是松鼠的意思),如果没有出现,你需要“登出”(即logout)一下系统再进入,并不需要重启系统,当然你重启系统也行,因为重启系统,其实也是logout再login了。

鼠须管输入法就五个菜单
-w248
Deploy 部署,用于修改配置后让新配置生效
Sync user data 同步用户自定义数据到指定目录(如iCloud中的目录,这样就可以通过iCloud来做同步了)
Settings 打开配置文件所在文件夹(RIME输入法没有配置界面,都是直接修改配置文件)
Rime Wiki就是查看文档
Check for updates就是查看有没有更新

卸载Squirrel输入法

卸载其实就是删除程序文件以及配置文件

# 删除输入法程序目录
sudo rm -rf /Library/Input\ Methods/Squirrel.app

# 删除个人配置文件目录
sudo rm -rf ~/Library/Rime/

当然如果是brew安装的,也可以用brew来删除

brew uninstall --cask squirrel

添加输入法方案

详细教程见:Plum-PackagesRime-自己设计输入法Schema.yaml详解鼠须管配置指南Rime各种文档

當你你安裝搜狗輸入法軟件后,可以添加很多輸入法(如下圖是搜狗手机输入法),即一個搜狗輸入法軟件可以支持很多輸入法,同理,Rime这个“输入法软件”也一樣支持很多輸入法,這些輸入法在Rime中叫“輸入法方案”
IMG_3612

Rime默认自带两种输入方案,一种是明月拼音,另一种是注音(如下图所示), 只不过明月拼音又分三种:繁体(默认)、简体和语句流

安裝输入方案下载器

想要添加輸入法方案,我們先要下載輸入法方案安裝工具plum(中文名叫“東風破”)。

在终端进入到配置目录

cd ~/Library/Rime/

下载Rime的配置管理工具——plum(中文叫“东风破”)

git clone https://github.com/rime/plum.git

其實並不需要把plum安裝到這個地方,只是~/Library/Rime/是Rime配置文件本地存放文件夾,所以我就放這兒了。

下载输入方案的方法

进入到刚刚下载的“东风破”(即plum)文件夹里

cd plum

运行以下命令(这一步需要从github下载文件,你可能需要先设置一下走代理,否则可能下载不下来)

bash rime-install --select :all lotem/rime-forge/lotem-packages.conf

它会列出所有可以安装的方案,让你选择要安装哪些,目前(2023-07-08)有32种

其中前22个可以在这里找到它们都对应什么输入法,安装位置在macOS中会安装到~/Library/Rime/目录下。

至于从第23)开始,lotem/rime-开头的,是rime作者佛振自己搞的,见这里,如果你不想安装23之后的,安装命令可以写成(这样比较快)

bash rime-install --select :all

选择数字每次只能选一个,选完按回车,但是它不会马上安装,而是让你继续选择,如果你都选择好了,确定要安装你选的方案了,则输入英文的句点.,然后按回车,就会开始安装你前面选择的数字对应的输入法方案。其实所谓的安装,就是Plum会帮你去github上clone下来。

选择要安装的输入方案

首先,preludeessay-八股文是一定要安装的,因为它是其它方案的基础,它们并不是输入法方案,而只是配置文件。

如果你只用拼音输入法,那么你除了必须要安装的preludeessay-八股文,再安装一个“明月拼音”(即“luna-pinyin”)就可以了。

我的话,会用到比较多输入法(主要是平时测试用),所以我要安装方案,除了必须安装的preludeessay-八股文,还有这些输入法:明月拼音、粤拼输入法、双拼输入法、86版五笔输入法、五笔反查输入法(它不作为一种输入法,只用于五笔反查)、emoji(不是输入法,只是用于支持emoji)。


以下是我要安装的输入方案(部分为配置文件,不是输入方案)

  • 5)prelude,基础配置,包括以下四个文件
Installing: default.yaml
Installing: key_bindings.yaml
Installing: punctuation.yaml
Installing: symbols.yaml
  • 3)essay-八股文,一个essay.txt文件,目前(2023-07-09)共有313021行,当然不是每行一个字,反正总共3.8M,可用于导入到词典文件xxx.dict.yaml中(use_preset_vocabulary: true);
  • 1)bopomofo,注音输入法,会安装以下四个文件;
Installing: bopomofo.schema.yaml            # 注音方案文件
Installing: bopomofo_express.schema.yaml    # 注音方案文件·快速
Installing: bopomofo_tw.schema.yaml         # 注音方案·台湾
Installing: zhuyin.yaml                     # 注音模版
  • 4)luna-pinyin,明月拼音输入法,会安装以下7个文件
Installing: luna_pinyin.dict.yaml           # 字典文件
Installing: luna_pinyin.schema.yaml         # 明月拼音方案文件
Installing: luna_pinyin_fluency.schema.yaml # 明月拼音语句流输入方案文件
Installing: luna_pinyin_simp.schema.yaml    # 明月拼音简体
Installing: luna_pinyin_tw.schema.yaml      # 明月拼音台湾繁体
Installing: luna_quanpin.schema.yaml        # 全拼,不是输入法,用于形码反查拼音用
Installing: pinyin.yaml                     # 明月拼音模版文件
  • 9)cantonese,粤拼输入法,真正的输入法方案文件只有两个,一个是ipa,一个是非ipa;
Installing: jyut6ping3.chars.dict.yaml      # 字典文件
Installing: jyut6ping3.dict.yaml            # 最終字典文件,由其它所有字典文件合成
Installing: jyut6ping3.lettered.dict.yaml   # 字典文件
Installing: jyut6ping3.maps.dict.yaml       # 字典文件
Installing: jyut6ping3.phrase.dict.yaml     # 字典文件
Installing: jyut6ping3.schema.yaml          # 粵拼輸入法方案文件(支持有聲調和無聲調)
Installing: jyut6ping3.words.dict.yaml      # 字典文件
Installing: jyut6ping3_ipa.schema.yaml      # 粵拼輸入法ipa版(ipa爲國際音標)
Installing: symbols_cantonese.yaml          # 符號
Installing: essay-cantonese.txt             # 粵語詞彙表,會被最終字典文件引用
Creating directory: /Users/bruce/Library/Rime/opencc    # OpenChineseConverter,開源中文轉換器,可用於陸,港,澳,臺之間的文字轉換
Installing: opencc/HKVariantsFull.txt       # opencc的文件
Installing: opencc/t2hkf.json               # opencc的文件
  • 11)double-pinyin,双拼(包含多种双拼输入法方案);
Installing: double_pinyin.schema.yaml       # 自然码双拼
Installing: double_pinyin_abc.schema.yaml   # abc双拼
Installing: double_pinyin_flypy.schema.yaml # 小鹤双拼
Installing: double_pinyin_mspy.schema.yaml  # 微软双拼
Installing: double_pinyin_pyjj.schema.yaml  # 拼音加加双拼
  • 12)emoji,emoji表情输入法
Installing: emoji_suggestion.yaml
Installing: opencc/emoji.json
Installing: opencc/emoji_category.txt
Installing: opencc/emoji_word.txt
  • 16)pinyin-simp,用于五笔反查;
Installing: pinyin_simp.dict.yaml   # 词典文件
Installing: pinyin_simp.schema.yaml # 方案文件
  • 21)wubi,86版五笔输入法,其中反查功能为先输入z,然后就可以输入拼音,这样就能通过拼音反查五笔编码了
Installing: wubi86.dict.yaml        # 词典文件
Installing: wubi86.schema.yaml      # 方案文件·简体
Installing: wubi_pinyin.schema.yaml # 方案文件·五筆拼音混输,依赖pinyin-simp
Installing: wubi_trad.schema.yaml   # 方案文件·繁体

添加输入方案

前面已经下载好了输入方案,现在我们需要把下载好的输入方案添加到鼠须管输入法中,添加输入方案其实也叫定制,这两篇文章挺详细:定制指南1定制指南2

规则是这样的:

  • 1、在~/Library/Rime/中找到你定制功能要修改的文件,比如添加输入方案就要修改default.yaml;
  • 2、我们不直接修改default.yaml,而是新建一个名称为default.custom.yaml的文件(即在原文件名基础上加一个.custom);
  • 3、default.custom.yaml文件的写法为:
    • 1)第一行为注释,一般写文件名或文件路径;
    • 2)后面空一行,写一个patch项,然后把default.yaml中你想修改的配置项放到patch下(上下级关系要换成用/的方式),这样你的自定义文件中的配置项,就会覆盖原配置文件中的配置项;

我的default.yaml改成了这样

# ~/Library/Rime/default.custom.yaml

patch:
  # 方案列表(即输入法列表)
  schema_list:
    - schema: wubi86              # 86版五笔
    - schema: wubi_trad           # 86版五笔-繁体
    - schema: double_pinyin_flypy # 小鹤双拼
    - schema: bopomofo_tw         # 注音-台湾繁体
    - schema: luna_pinyin_simp    # 明月拼音简体
    - schema: luna_pinyin_tw      # 明月拼音台湾繁体
    - schema: jyut6ping3          # 粤语拼音(粤拼)

  # 显示方案选单(即输入法列表)的快捷键
  switcher/hotkeys:
    - Control+grave
    - Control+Shift+grave
    # Command需要写成Super,Option要写成Alt
    - Super+Alt+grave
    - Alt+Shift+grave
    - Super+Control+grave
    - F4

  # 设置按左shift键上屏并切换到英文输入状态
  ascii_composer/switch_key/Shift_L: commit_code
  # 设置按右shift键上屏并切换到英文输入状态
  ascii_composer/switch_key/Shift_R: commit_code
  • 1、原文件(default.yaml)中上下级关系的选项,在patch中都用平着写,比如原文件的“hotkeys”是“switcher”的子级,在patch中就用/来分隔来表示上下级关系,写成switcher/hotkeys,三级的也一样,继续在后面加斜杠,比如ascii_composer/switch_key/Shift_L
  • 2、我们看到default.yaml中有schema_list配置项,这个叫“方案选单”(即“输入法列表”),我们在default.custom.yaml的patch中重新定义schema_list列表的值,这样就会覆盖default.yaml中schema_list中的值;

scheme_list列表中的每个值都代表一个输入法方案,都代表~/Library/Rime/下的一个scheme文件,对应关系如下:

  • wubi86 => wubi86.schema.yaml
  • wubi_trad => wubi_trad.schema.yaml
  • double_pinyin_flypy => double_pinyin_flypy.schema.yaml
  • bopomofo_tw => bopomofo_tw.schema.yaml
  • luna_pinyin_simp => luna_pinyin_simp.schema.yaml
  • luna_pinyin_tw => luna_pinyin_tw.schema.yaml
  • jyut6ping3 => jyut6ping3.schema.yaml

发现没,scheme_list中的全部名称都是用的方案文件名前面部分的名字,即去掉后面的.schema.yaml后剩下的部分。

所以,你在default.custom.yaml的scheme_list方案列表里写的方案必须在~/Library/Rime/下有对应的方案文件,而且方案并不是单独一个方案文件,还可能会包含字典文件及其它文件等等,怎么以下载方案,前面下载输入方案中已经说过了。

修改了配置后,要在顶部工具栏中找到输入法图标,点击Deploy(中文应该叫“部署”),注意只有你选中“鼠须管”(英文“Squirrel”)的情况下再点击才会有这个菜单
-w251
注意: 后续的所有修改配置文件的地方,都需要在修改完后点这个“Deploy(部署)”按钮都会生效。

其中拼音反查是按z键后再输入拼音,如图:
-w179

要在单独五笔、五笔拼音混输、五笔简入繁出之间切换,可以用control+`切换(这个快捷键容易冲突,见这里)
-w565

修改配置原理

鼠须管自带默认配置在以下文件夹(即在Squirrel.app里)

cd "/Library/Input Methods/Squirrel.app/Contents/SharedSupport/"

而个人配置是不能写在app里面的,因为如果写在里面的话,一更新,配置就丢了。实际上前面已经说过,个人配置是在这个文件夹里

cd ~/Library/Rime/

事实上这个文件夹里也是有默认配置的,另外我们用plum-东风破下载的配置。

对于文件名中没有schema字样的,我们只需要把默认配置文件加个.custom即可,对于文件夹名有schema字样的,我们直接把schema替换成custom,如下表

默认 自定义
/Library/Input Methods/Squirrel.app/Contents/SharedSupport/squirrel.yaml ~/Library/Rime/squirrel.custom.yaml
/Library/Input Methods/Squirrel.app/Contents/SharedSupport/default.yaml ~/Library/Rime/default.custom.yaml
~/Library/Rime/wubi86.schema.yaml ~/Library/Rime/wubi86.custom.yaml

在自定义配置中,我们是以补丁(patch)的形式来覆盖默认配置的,所以写法会略有不同。比如在~/Library/Rime/wubi86.schema.yaml文件中有这一段配置

translator:
  dictionary: wubi86
  enable_charset_filter: true
  enable_sentence: true
  enable_encoder: true
  encode_commit_history: true
  max_phrase_length: 4
  disable_user_dict_for_patterns:
    - "^z.*$"

我们要在~/Library/Rime/wubi86.custom.yaml文件中覆盖它的配置,是这么写的

# ~/Library/Rime/wubi86.custom.yaml
patch:
  translator/dictionary: bruce # 使用自定义扁bruce
  translator/enable_user_dict: false # 关闭词频调整
  translator/enable_sentence: false # 关闭句子输入
  translator/enable_completion: false  # 是否启用逐键提示(true为启用)
  translator/enable_encoder: false # 是否开启自动造词
  translator/encode_commit_history: false # 是否对已上屏词自动造词
  #translator/max_phrase_length: 7 # 最大自动成词词长

  speller/max_code_length: false # 最长4码(与auto_select结合第五码上屏)
  #speller/auto_select: true # 第五码顶字上屏
  #speller/auto_select_unique_candidate: true # 无重码自动上屏
  #speller/auto_clear: max_length # 空码且達到最長碼時確認清屏

patch表示这是补丁(用于覆盖默认配置),比如translator/enable_sentence对应wubi86.schema.yaml文件中的enable_sentence配置项,但是写法就变成了用斜杠/来表示所属层级了。

即配置文件优先级为:

  • 1、~/Library/Rime/中的文件会覆盖squirrel.app中自带的配置文件;
  • 2、~/Library/Rime/中的带.custom的文件又会覆盖~/Library/Rime/中不带.custom的配置文件;

如果你不知道default.custom.yaml或squirrel.custom.yaml有什么选项,一方面可以在这里查,另一方面,你可以在默认配置文件夹/Library/Input\ Methods/Squirrel.app/Contents/SharedSupport中对应的文件中查看有什么选项,比如default.custom.yaml对应默认配置文件夹中的default.yaml,squirrel.custom.yaml对应默认文件夹中的squirrel.yaml。


特别注意:有些人可能会好奇,为什么在patch中不能用原配置中换行和缩进的方式来表示上下级关系,而要用/来表示?我一开始也好奇,事实上用换行缩进的方式确实也能用,但是实测会导致一些原配置文件中的配置失效,可能是由于用换行缩进表示上下级关系,会直接覆盖原配置文件对应的上级,导致该上级的下级全部被覆盖。

比如我实测wubi86.scheme.yaml,我自己添加了一个wubi86.custom.yaml,我在wubi86.custom.yaml中使用换行缩进的方式表示上下级,就导致五笔的“增广”开关不管用,而同样的配置换成用/来表示上下级,增广开关就正常。

各种定制

Rime vscode插件

Rimebow,已经可以用了,方便修改配置;
vrime,暂还未发布(2023-07-10);

以下是Rime的vscode插件“Rimebow”的截图

删除自动造词

敲一遍,等出来之后,按Fn+shift+delete快捷键删除(注音macOS的delete就是退格键)。

关闭自动造词

translator

translator/enable_encoder: false # 是否开启自动造词
translator/encode_commit_history: false # 是否对已上屏词自动造词

配置横向显示待选词

鼠须管默认是竖向显示的,但我相信有很多人不习惯这种竖向显示的方式(因为大多数输入法都是横向显示的)
-w291

~/Library/Rime/squirrel.custom.yaml中添加如下配置,其中起作用的是horizontal: true

# ~/Library/Rime/squirrel.custom.yaml

patch:
  style:
    color_scheme: clean_white
    horizontal: true
    inline_preedit: false
    corner_radius: 5

注意: 凡是custom的配置文件默认都是不存在的,需要自己新建。

保存配置后,点击Deploy(部署)即可生效
-w346

另外需要注意,有些皮肤配置本身已经配置了horizontal: true的,所以如果你像上边那样无论把horizontal设置为true还是false都不起作用时,你就应该去看看你使用的皮肤配置了。

超出边框问题

在squirrel.custom.yaml中设置(要0.16.3版本后才有):

style/memorize_size: false

定制皮肤颜色

/Library/Input Methods/Squirrel.app/Contents/SharedSupport/squirrel.yaml中搜索preset_color_schemes,就可以看到有很多默认的配色,我们可以在~/Library/Rime/squirrel.custom.yaml去设置自定义的配色。

比如我喜欢clean_white,我就把color_scheme的值设置为clean_white

patch:
    app_options:
        {}
    style:
        # 设置皮肤颜色
        color_scheme: clean_white
        horizontal: true
        inline_preedit: true
        corner_radius: 5

当然,如果所有默认配色你都不喜欢,那就自己添加一种,怎么添加呢?首先前面说了,默认颜色是在Squirrel.app中的squirrel.yaml文件里的,所以我们只需要在用户配置目录,即~/Library/Rime/目录中新建一个squirrel.custom.yaml(如果已经存在就不用新建了),然后在里面添加一种颜色配置就行了。

配置格式(前面配置原理已经说过,在覆盖原配置时,父子级要用斜杠来表示):

# 自定义主题颜色(tantsing是自定义的字符串,你写aaa、bbb也行,只要在引用的时候引用这个名字就行)
preset_color_schemes/tantsing:
    author: Bruce
    back_color: 0xE3E3E3
    border_color: 0x000000
    candidate_text_color: 0x000000
    comment_text_color: 0x474747
    hilited_back_color: 0x1A0791
    hilited_candidate_back_color: 0x6F0B73
    hilited_candidate_text_color: 0xE3E3E3
    hilited_text_color: 0xE3E3E3
    name: "丹青/Tantsing"
    text_color: 0x000000

至于配置里的颜色,如果没有工具那肯定也非常麻烦,好在有一个可视化工具RIME西米,可以用来自动生成颜色配置。

怎样使用自定义的这个颜色呢?其实是一样的,把前面color_scheme的值改为tantsing即可。

添加/删除词组

由于我使用的是五笔,所以这里说的是五笔的,拼音的其实是一样的,只不过默认配置文件不同而已。

在以下几个文件中

# 纯五笔
~/Library/Rime/wubi86.schema.yaml
# 五笔拼音混输
~/Library/Rime/wubi_pinyin.schema.yaml
# 五笔简入繁出
~/Library/Rime/wubi_trad.schema.yaml

都有这样的配置

translator:
  dictionary: wubi86

该配置的意思是使用当前目录下的wubi86.dict.yaml这个文件作为五笔词库。

但是前面说过,我们可以覆盖默认配置。新建以下几个文件

# 纯五笔
~/Library/Rime/wubi86.custom.yaml
# 五笔拼音混输
~/Library/Rime/wubi_pinyin.custom.yaml
# 五笔简入繁出
~/Library/Rime/wubi_trad.custom.yaml

并分别在每个文件里面修改默认配置(但需要把translator/dictionary的层级关系用斜杠来表示)

# ~/Library/Rime/wubi86.custom.yaml
patch:
    translator/dictionary: bruce # 使用自定义词典bruce

像上面这样设置,就代表它会去加载bruce.dict.yaml文件作为五笔词库,但该文件并不存在,所以我们要新建一个。

自定义词典

我们新建一个bruce.dict.yaml,并填写以下内容

# bruce.dict.yaml

---
# name值用于被translator/dictionary识别
name: bruce
version: "2020.06.27"
sort: by_weight
use_preset_vocabulary: true
# 表示继承wubi86这个词库的所有内容
import_tables:
    - wubi86
...

# 自定义词组
测测  imim    1
斜杠  wtsa    1

可以看到,这里我写的name值是bruce,刚好对应文件名bruce.dict.yaml的第一部分,并且这个名字也是被translator/dictionary: bruce引用的。

另外要注意其中的import_tables,表示引入其它的词库,我这里引入的就是wubi86词库,因为我是只是想在它的基础增加自己的一些自定义的词,而不是想完全定义自己的词库。


另外要解释一下---...,这两个符号是yaml语言的标记,在一个yaml文件中,可同时包含多个文件,并用---分隔。选择性的符号...可以用来表示文件结尾。

上边的“测测”、“斜杠”都是自定义词组,它的结构是词组 编码 权重,当重码时,权重大的会出现在前面,但目前我们不需要这个,所以都写1就行(也可以用小数或百分数表示,有重码时,如果我想把某个词往后放,就用0.9,因为它比1小,所以就会排后面)。

特别注意: 词组、编码、权重之间的空格其实并不是空格,而是“一个制表符”,一般编辑器你按tab它会把制表符自动转换成空格,这将会导致你这个配置无效,所以一定要把空格换成制表符。

一般情况下,编辑器都是不显示制表符、空格等这些空的符号的,需要你自己设置成显示才能看见,比如我用的sublime text3,就需要点击PreferencesSettings
-w532

然后在弹出的窗口中右侧User部分添加一个"draw_white_space": "all"配置,注意由于是在json最后加的,所以要记得前面要加个逗号,否则就会报错(修改配置后貌似要重启一下sublime)
-w854

然后就能看见,一个空格是一个点,我们要做的是把空格替换为制表符即可,无论你输入了多少个空格,词组、编码、权重之间,只能间隔一个制表符(如下图)
-w712

特别注意,就算你复制制表符再粘贴,它也会变成空格(除非你设置了编辑器不把制表符替换为空格)。其实我自己平时修改都是直接用vim来修改,vim的yy->p复制,倒是不会把制表符自动替换成空格。

最后,你需要点击一下Squirrel输入法菜单里的“部署(deploy)”按钮才会生效(快捷键control+option+`,反引号就是数字1左边,Tab上边那个键),因为它要重新读取一下你修改后的配置并放到内存里。


删除不要的词组: 就我的86版五笔来说,在wubi86.dict.yaml里直接搜索你不要的那个词组,删除那一行,再部署(Deploy)一下就行了。

设置shift上屏

鼠须管输入法在默认情况下:

  • 中文状态输入英文后,按shift键是不能直接把输入的英文上屏的(按回车才可以)
  • 必须在没有输入的情况下按shift键,才能在中英文输入状态切换(在中文状态下已经输入英文但还未上屏时就无法切换)
  • 我在很多时候,都需要shift把当前英文上屏并直接切换到英文输入状态。

基于以上原因,我们需要把shift设置为在中文输入状态下输入了英文时,按shift能上屏并切换为英文。

default.custom.yaml文件中使用以下配置即可

# ~/Library/Rime/default.custom.yaml
patch:
    schema_list:
        - schema: wubi86
    # 设置按左shift键上屏并切换到英文输入状态
    ascii_composer/switch_key/Shift_L: commit_code
    # 设置按右shift键上屏并切换到英文输入状态
    ascii_composer/switch_key/Shift_R: commit_code

设置为双行显示

单行显示时,输入的字母不在输入法的框里(而是在编辑器上)
-w187

双行显示,输入的字母在输入法的框里
-w190

在配置文件夹下,找到squirrel.custom.yaml文件(如果文件不存在就要新建这个文件),并添加以下内容(实现单行双行显示的是inline_preedit选项)

# ~/Library/Rime/squirrel.custom.yaml
patch:
  app_options:
    {}
  style:
    color_scheme: clean_white
    horizontal: true
    # true为单行显示,false为双行显示
    inline_preedit: false
    corner_radius: 5

标点符号问题

默认情况下,输入顿号、左右书名号、左右方括号等符号的时候,它会要你选择,而不是直接输出,这对于很多人来说可能会很抓狂,比如对我来说就是,我需要的是直接输出而不是给这么多个给我选。
-w273
-w163
-w225

解决这个的方法,就是自己修改配置覆盖默认符号的配置。

首先,由于我是在五笔输入法下出现的以上情况,所以我要去我的五笔输入法方案文件wubi86.scheme.yaml中找到punctuator,如下所示,发现它import的是“symbols”

punctuator:
  import_preset: symbols

于是我们在~/Library/Rime/中就要找symbals.yaml,正常情况是要把它复制一份为symbals.custom.yaml,但实测这个复制了是不管用的,所以直接改就好了。

以下是我修改的部分配置,用方括号括住的表示显示一组符号让你选,如果你不想选,就把方括号删掉,只剩下一个你想它直接输出的符号即可(主要是改half_shape,即半角部分)

  half_shape:
    ',' : { commit: , }
    '.' : { commit: 。 }
    '<' : '《'
    '>' : '》'
    '/' : '/'
    '?' : { commit: ? }
    ';' : { commit: ; }
    ':' : { commit: : }
    '''' : { pair: [ '‘', '’' ] }
    '"' : { pair: [ '“', '”' ] }
    '\' : '、'
    '|' : '|'
    '`' : '`'
    '~' : '~'
    '!' : { commit: ! }
    '@' : '@'
    '#' : '#'
    '%' : '%'
    '$' : '¥'
    '^' : { commit: …… }
    '&' : '&'
    '*' : '*'
    '(' : '('
    ')' : ')'
    '-' : '-'
    '_' : '——'
    '+' : '+'
    '=' : '='
    '[' : '【'
    ']' : '】'
    '{' : '{'
    '}' : ' }'

有时候修改配置并部署(Deploy)后,可能在有些编辑器里不生效(比如我用的sublime text3),这时候可以先试试切换一下到其它输入法再切换回来,有可能可以解决,如果不行,关掉那个编辑器再重启打开试试,实在不行就得登出系统再登录了(但一般不用)。

另外说一下,其实还有一个punctuaction.yaml,它其实是symbols.yaml的简化版,也就是说wubi86.scheme.yaml中引用的时候,可以把import_preset值改为

punctuator:
  import_preset: symbols

快捷键冲突问题

rime输入法内置很多方案,默认切换方案快捷键是control+`,但macOS下很多快捷键都是用这个快捷键,比如浏览器tab之间的切换,还有在sublime text中也会用到这个快捷键,所以如果直接用默认快捷键,会遇到在其它软件内可以用该快捷键切输入方案,而在浏览器下死活切换不了的问题。

快捷键设置是在default.yaml文件中,前面添加输入方案中已经把default.yaml复制了一份,名为default.custom.yaml,其中以下的内容即为显示输入法列表的快捷键

  # 显示方案选单(即输入法列表)的快捷键
  switcher/hotkeys:
    - Control+grave
    - Control+Shift+grave
    # Command需要写成Super,Option要写成Alt
    - Super+Alt+grave
    - Alt+Shift+grave
    - Super+Control+grave
    - F4

grave就是反引号,就是Tab键上边那个键(按正规来说,应该叫“backstick”才对)。

备份同步用户配置

我们如果我们前面辛辛苦苦修改好的配置,一不小心弄丢了,那就该哭了,所以我们需要把自己修改的配置备份起来。

当我们点击鼠须管输入法菜单中的Sync user data菜单时,就会把用户自定义的数据备份到~/Library/Rime/sync/目录里
-w250

但是其实备份在那也不安全,毕竟硬盘坏了也就没了。实际上我们是可以配置让它备份指定目录的,在~/Library/Rime/目录下找到installation.yaml文件,在里面最后一行添加以下配置(如已存在则修改值就行)

sync_dir: "/Users/<你的用户名>/Library/Mobile Documents/com~apple~CloudDocs/RimeUserConfigSync"
  • 1、注意要把<你的用户名>替换为你的用户名,方法:在启动台搜索“终端”→打开“终端”→在终端输入whoami→按回车,即可显示你的用户名;
  • 2、RimeUserConfigSync是最后一级目录,据我测试,可以存在也可以不存在;
  • 3、添加以上配置后,再点击右上角输入法图标→点击Sync user data菜单,鼠须管就会把你的自定义配置全部同步到你指定的文件夹中,如果你指定的文件夹位于iCloud或Dropbox的同步文件夹之下,则你的文件夹会被同步到云上,这样就可以同步到你另一台电脑中(Mac同步到Windows也是可以的);
  • 4、本例这个是备份到iCloud文件夹下,这样的话可以利用iCloud的同步来防止备份内容的丢失;
  • 5、不能新增installation.custom.yaml,这样会不起作用,也就是说installation.yaml这个文件是例外(因为其它配置都是加个custom)。

查看错误日志

$TMPDIR是一个环境变量,如果deploy错误,错误日志会放在里面$TMPDIR

ls -l $TMPDIR | grep rime

相关链接

深蓝词库转换
鼠须管输入法的五笔输入配置
鼠须管输入法 五笔定制
极点五笔词库
用 RIME 定制输入法
Schema.yaml 詳解

打赏

订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

macOS安装配置RIME-鼠须管输入法