设置输入法候选词横排显示
打开 weasel.custom.yaml 文件,在 patch: 下添加 "style/horizontal": true 后重新部署即可。

自定义短语
在用户的配置目录下新建文件:custom_phrase.txt。填写以下内容
# Rime table
# coding: utf-8
#@/db_name custom_phrase.txt
#@/db_type tabledb
#
# 用於【五笔拼音】系列輸入方案
#【小狼毫】0.9.21 以上
#
# 請將該文件以 UTF-8 編碼保存爲
# Rime 用戶文件夾 /custom_phrase.txt
#
# 碼表各字段以製表符(Tab)分隔
# 順序爲:文字、編碼、權重(決定重碼的次序、可選)
#
# 雖然文本碼表編輯較爲方便,但不適合導入大量條目
#
# no comment
1302241xxxxxxxxxxx sfz 1
x30224199911077403 sfz 2
注意:
- 中间要用 tab 进行分隔,不要用空格
- 权重值有的版本是越大越靠前,有些版本是相反的。
- 记得重新部署

修改候选词数量
打开 default.custom.yaml 文件,在patch下增加一个空白处,注意前面空两格,添加 "menu/page_size": 7

记得重新部署,然后候选词数量就变为 7 个了。
删除候选词
先把选字光标(用上、下键)移到要删除的用户词组上,再按下 Shift+Delete 或 Control+Delete(苹果键盘用 Shift+Fn+Delete)
使用 lua 脚本(明月拼音-简体字为例)
用 lua 脚本的原因:之前用搜狗输入法,打出特定字母可以直接显示当前的时间日期,还可以定义格式,例如 2024-10-21 15:13:35 这种。换了 rime 之后,没有这个功能,但是可以通过 lua 脚本来实现。
参考: https://zhuanlan.zhihu.com/p/471423974 。不太准确了。
1、未优化简陋版本
1)首先在用户文件夹下,新建 rime.lua 文件。将程序文件夹下的 luna_pinyin.schema.yaml 复制到用户文件夹下。在用户文件下创建一个 lua 文件夹,用来存放 lua 脚本。如下图所示。

2)首先在 rime.lua 文件里面,添加这样一句代码:image_format = require("image")
这个有两个关键词,分别是等号左边的和括号当中双引号里面的:image_format 和 image。这两个都是可以自定义的,随便任意的字母组合。
3)在 lua 文件夹里面,创建文件:image.lua。注意:这个文件名必须要和前面 rime.lua 文件里面,添加的那句 image_format = require("image"),括号里双引号里的值一样才行。
在这个 image.lua 文件当中,添加我们的 lua 代码。代码建议自己学学。
--lua语言中的注释用“--”
local function imageformat(input, seg)
if (input == "image") then --关键字更改,你也可以用or语句定义多个关键字
yield(Candidate("image", seg.start, seg._end, os.date("%Y%m%d%H%M%S"), " "))
yield(Candidate("image", seg.start, seg._end, os.date("%Y-%m-%d_%H:%M:%S"), " "))
yield(Candidate("image", seg.start, seg._end, os.date("%Y-%m-%d %H:%M:%S"), " "))
yield(Candidate("image", seg.start, seg._end, "image", " "))
end
end
return imageformat
如下图

4)打开我们复制到用户目录下的 luna_pinyin.schema.yaml 文件。找到 engine 下的 translators,然后添加 - lua_translator@image_format。如下图所示
注意:- lua_translator@image_format 中,@符号后面的,就是前面 rime.lua 文件里面,添加的那句 image_format = require("image"),等号左边的值,必须保持一致。

5)添加完后,重新部署。
测试:打出 image,会出现当前的时间。时间和格式是由 lua 代码所实现的。

6)补充
如果你用的是其他拼音,就复制对应的 schema.yaml 文件到用户目录,然后修改即可。
经过测试:复制后,以用户目录下的 schema.yaml 文件为主,我把程序目录的 schema.yaml 文件删掉也没出问题。但不建议删。
2、优化后版本
使用了雾凇拼音的集成化方案后,参考了雾凇的脚本编写,对脚本进行优化。因为不会 lua 脚本,所以直接照猫画虎整出来的。
参考雾凇拼音脚本所写的:
--lua语言中的注释用“--”
-- 提高权重的原因:因为在方案中设置了大于 1 的 initial_quality,导致用户输入的值,所产出的候选项在所有词语的最后。
local function yield_cand(seg, text)
local cand = Candidate('', seg.start, seg._end, text, '')
cand.quality = 100
yield(cand)
end
local function imageformat(input, seg)
if (input == "image") then --关键字更改,你也可以用or语句定义多个关键字
yield_cand(seg, os.date("%Y%m%d%H%M%S"), " ")
yield_cand(seg, os.date("%Y-%m-%d_%H:%M:%S"), " ")
yield_cand(seg, os.date("%Y-%m-%d %H:%M:%S"), " ")
end
end
return imageformat
效果:输入 image。自定义的时间格式在前,同时雾凇自带的词排在后面。

Shift 切换中英文的问题
主流的输入法,例如微软拼音、搜狗,可以敲 Shift 键来切换中英文输入;且如果此时正在输入拼音,则按一次 Shift 键会直接将拼音上屏。
然而小狼毫默认的设置让人迷惑:左 Shift 键只切换为英文,右 Shift 键直接上屏中文。如果你习惯了主流输入法的 Shift 键模式,那么这会非常影响输入效率,尤其是对于习惯使用右 Shift 键切换中英文的用户(比如我)来说,更是麻烦。
打开 default.custom.yaml 文件,在 patch 字段添加以下配置代码(注意每一行之前的空格缩进)
# 启用Shift上屏英文并进行中英文切换
"ascii_composer/switch_key/Shift_L": commit_code
"ascii_composer/switch_key/Shift_R": commit_code

添加词库
参考: https://www.cnblogs.com/mendge/p/18354201
1、找词库
词库可以从搜狗词库转换。这里找了一个别人的词库用作演示。
2、导入词库(朙月拼音为例)
进入用户文件夹下操作。
打开 luna_pinyin.schema.yaml 文件,找到如下位置,修改为 dict_my_config。这个是任意字符串均可,但是尽量简单,含义明了。
translator:
dictionary: dict_my_config # 原先这个默认值是 luna_pinyin,改为一个自定义的值
preedit_format:
- xform/([nl])v/$1ü/
- xform/([nl])ue/$1üe/
- xform/([jqxy])v/$1u/
然后创建一个 dict_my_config.dict.yaml 文件。注意,.dict.yaml 前面就是我们在 luna_pinyin.schema.yaml 文件中,修改后的值,这二者是必须要一致的。
dict_my_config.dict.yaml 是导入词库的总配置文件。
在刚创建的 dict_my_config.dict.yaml 文件中,添加如下内容:
---
name: dict_my_config
version: "2024.10.23"
sort: by_wight
use_preset_vocabulary: true
import_tables:
- luna_pinyin #这个是默认使用的明月拼音,没事别删
- dict_comprehensive # 别人的词库
- dict_sougou_wangluoliuxing # 搜狗词库-网络流行语
...
# 后面还有三个点,不要忘了
- name:不一定要和文件名
.dict.yaml前面的值保持一致,测试的时候不一致也没问题,但是尽量一致; - version:管理词典的版本,规则同输入法方案定义文件中的版本号;
- sort:词条初始排序方式,可选填 by_weight(按词频高低排序)或 original(保持原码表中的顺序);
- use_preset_vocabulary:填 true 或 false,选择是否导入默认词汇表【八股文】。
- import_tables:导入的词库文件名,按格式添加。
将词库文件准备好,例如:dict_sougou_wangluoliuxing.dict.yaml。在开头写入如下内容,注意 name 值必须和文件名 .dict.yaml 前面的部分保持一致。
# Rime dictionary
# encoding: utf-8
# 词库文件有要求,可以用深蓝转换工具进行转换。
#
# 于重新部署后生效
#
---
name: dict_sougou_wangluoliuxing # dict_sougou_wangluoliuxing.dict.yaml,取 .dict.yaml 前面的部分
version: "2024.10.23"
sort: by_weight
use_preset_vocabulary: true
...

然后,保存,重新部署。
总结:以后导入词库,只需要将词库文件放入到用户目录下,改好文件名,然后添加到 dict_my_config.dict.yaml 后面即可。

测试:为添加词库前,打出 mi dao ren

添加词库,重新部署后

同步设置
参考: https://www.mintimate.cc/zh/guide/deviceSync.html , 官方wiki
打开用户文件夹下的 installation.yaml 文件,添加一个指定目录。
注意:Windows 用户注意 YAML 语法,反斜杠在双引号中转义,在单引号中不转义。
distribution_code_name: Weasel
distribution_name: "小狼毫"
distribution_version: 0.16.3
install_time: "Wed Oct 23 20:43:25 2024"
installation_id: "win10_zhuji" # 默认是一长串字符,可以自己修改
rime_version: 1.11.2
sync_dir: 'D:\shurufa\rime_sync' # 添加一个路径。用单引号
点击用户资料同步后,就会在指定的目录下,看到生成的词库和用户配置。

终极:使用集成方案
自己折腾了一段时间后,发现还是使用集成方案更好,我这里使用了雾凇拼音输入方案,同时利用坚果云进行同步词库配置,然后 Windows 端使用小狼毫,Mac 端使用鼠须管,安卓端使用小企鹅。总体上就是这样了,不想过多的将时间浪费在这上面了。
安装方法就不说了,Windows 和 Mac 都很简单,安卓这里需要下载 app 本体及plugin.rime 插件,注意一下。
雾凇拼音安装
项目地址: https://github.com/iDvel/rime-ice
先把项目 clone 或者下载 zip 压缩包到本地,把压缩包解压。因为我之前用户文件夹下的方案不用了,所以直接删除了用户文件夹下的所有文件,然后把所有的文件全部复制到小狼毫的用户文件夹下,Mac 的鼠须管也是同理。
这里我自己做了一些修改,将 default.yaml 文件里面除了雾凇拼音以外的输入法全部注释掉了,因为我用不到。同时修改了快捷键,候选词次数等,这个文档里面有很明了的注释,就不多介绍了。

如果你只使用拼音,从不使用双拼的话,可以将其他 yaml 文件删除,只留下有关拼音的 yaml 文件。作者也说明可以这样:issues:202
我就是这样做的,只保留了拼音,删掉了其他

坚果云同步
注意:因为安卓端输入法没有存储权限,所以不支持自定义 sync_dir,所以我只能将同步后生成的文件夹复制一份到其他目录,以便使用同步软件进行同步。详情请看 issue: issues:452 和 issues:184
好在词库这个东西不需要频繁同步,每隔一段时间同步一下就好,也还行。
Windows:坚果云软件
Mac:坚果云软件
安卓端:FolderSync 同步软件+坚果云 WebDAV 服务(不需要下载坚果云 app)
小企鹅输入法同步产生的文件夹是在自己安装包目录下的 data/rime 里面,默认是 sync 文件夹,不可以自定义 sync_dir。需要手动将生成的文件夹复制到其他目录下,然后利用 FolderSync 软件,同步到坚果云。
FolderSync 可以连接坚果云的 WebDAV 服务,将本地的文件夹同步到坚果云。
自定义词库
参考: https://dvel.me/posts/rime-ice/
创建一个自定义的词库文件:mydict.dict.yaml
打开 rime_ice.dict.yaml 文件,将创建好的词库文件挂载。注意文件的位置。

编辑 mydict.dict.yaml 文件,添加自定义的词。注意格式
可以设置权重的值,值越小排序越靠前。

修改完后,保存,重新部署。
如果未生效,可能是刚才的配置有问题。查看一下日志文件夹里的日志是否有报错。
指定应用默认为英文输入法
例如打开记事本,输入法切换为英文状态。打开游戏时输入法切换为英文,这样使用游戏中的快捷键就不会出现打字的候选框了。
打开 weasel.custom.yaml 文件,在 patch 中添加如下内容
patch:
app_options:
notepad3.exe: # 这个是运行的进程名,小写的。这里以Notepad3为例
ascii_mode: true
xxxxx111.exe: # 多个进程的话,依次排列
ascii_mode: true

保存,重新部署。然后打开 Notepad3,输入法就自动切换为英文了。