写在前面
首先需要说明的是:小狼毫(rime)输入法并不是一个好用的输入法。具体体现在:
- 没有引导,交互性差
- 没有图形界面,自定义全靠编写代码
- 配置繁琐,容易出错
- 词库需要自己导入、更新
- 阅读教程需要较长时间
- 出现问题不容易查找、解决
但与此同时,它有了无与伦比的可自定义性,几乎可以满足任何你对输入细节的要求。
还有很重要的一点是,它没有广告(相信你已经受够了搜狗的弹窗)
以下是输入法展示:
安装
在RIME | 中州韻輸入法引擎下载安装包,跟着引导安装程序
需要注意两点:
- 安装路径不能出现中文字符
- 建议用户资料文件夹 自己指定位置(确实还蛮大的)
基本使用
输入模式设置
按Ctrl+grave
(Tab上面那个键) 进行方案选择
选择『朙月拼音』(如果你用全拼的话) 第二项显示的是你当前的输入模式
说明:朙月拼音、朙月拼音简化字、朙月拼音语句流是完全不同的方案
按提示进行选择即可 比如按4实现繁简转换
输入方案选择
右击托盘图标(左边那个) 打开菜单 选择『输入法设定』
选择需要的输入方案 点击『中』
选择喜欢的皮肤 点击『中』
注意:使用此方法设置输入方案时,default.custcom.yaml、weasel.custcom.yaml文件会被程序格式化(添加基本信息,去除注释行,调整代码顺序等)
至此,rime输入法已经基本可用了
下面以朙月拼音方案为例 开始自定义内容的介绍
配置文件
rime输入法的配置文件分为两处(就是安装时 你指定的两处位置):程序文件夹、用户文件夹
右击托盘图标 可以选择 打开『程序文件夹』和『用户文件夹』
注意:在程序文件夹中的所有文件都不要动,虽然改动这里的文件也能达到自定义的效果,但每次更新都会被重置为默认设置。
我们采用“打补丁”的方式对程序文件夹中的文件进行修改,即在用户文件夹中创建 同名的custom文件。比如要对default.yaml文件修改,就创建default.custom.yaml。
一般来说,我们需要创建的文件就三个
- default.custom.yaml 全局方案补丁,即定制内容对所有的输入方案都有效
- luna_pinyin.custom.yaml 朙月拼音 输入方案补丁,定制内容只对该方案有效,如果要修改其他方案,创建“方案名.custom.yaml”文件即可
- weasel.custom.yaml 皮肤文件补丁,分为样式和颜色两部分,对所有输入方案有效
说明:
- 所有创建的文件 文件编码必须为UTF-8 文件格式必须为yaml格式(对缩进的要求很高)
- yaml文件实际上是文本文件,可以使用记事本编辑
- 怕创建出错的话 可以把程序文件夹下的文件复制过来 然后改名 清空
其他配置文件:
- 方案名.schema.yaml 输入方案,直接覆盖程序文件夹下的该方案
- symbols.yaml 符号方案,对引入该文件的输入方案有效,用来定义按键输出的字符。因为是引用生效,所以自己的符号方案可以随意命名
- installation.yaml 定义用户资料同步的位置
- 词典名.dict.yaml 固定词典文件,对引入该文件的输入方案有效,用来定义能打出的词汇
- Custom_phrase.txt 用户词典文件,对所有输入方案有效,用来添加用户想添加的词汇
- rime.lua 函数文件,对引入该函数的输入方案有效
定制方案
注意事项
说明:
- 所有配置修改后要生效 必须重新部署(右击托盘图标)
- 如果部署后的效果与你的期望相差甚远 请去%TEMP%目录下查看是否有ERROR日志
- 日志名大致为 rime.weasel.计算机名.用户名.log.ERROR.时间
- 详细的参数信息 请参考 Rime_collections (github.com)
格式强调:
- 文件编码必须为UTF-8 文件格式必须为yaml格式(对缩进的要求很高)
- 所有的缩进都是空格 同一层级缩进必须对齐
- 一个文件只能有一个patch 冒号后面不换行都有空格
default.custom.yaml
default.custom.yaml 和 weasel.custom.yaml 的设置比较简单,直接上代码
patch:
# 可选的输入方案列表
schema_list:
- {schema: luna_pinyin}
# 候选栏显示的词语个数
"menu/page_size": 6
# 切换/热键 ctrl+`(tab上面那个键)
# 这里的切换指 输入方案及其设置的选择
"switcher/hotkeys":
-"Control+grave"
# 处理英文模式及中英文切换
# 大小写锁定键亮时 输出大写-true 输出小写-false
ascii_composer/good_old_caps_lock: true
ascii_composer/switch_key:
# clear 清除已输入的字符
# noop 什么也不做
# commit_code 已输入的字符上屏
# commit_text 已输入的字符对应的词语上屏
# inline_ascii 输入法转变并可以继续输入
# 大小写锁定键
# 这个键位最好不要设置为noop(可以尝试)
Caps_Lock: clear
# 左shift
Shift_L: inline_ascii
Shift_R: inline_ascii
Control_L: noop
Control_R: noop
weasel.custom.yaml
设置app_options即可 皮肤可以直接使用现有方案
patch:
# 默认以英文输入模式 进入应用
# cmd.exe 默认开启
app_options:
LeagueClient.exe: {ascii_mode: true}
Xshell.exe: {ascii_mode: true}
sublime_text.exe: {ascii_mode: true}
下面是 样式与配色方案(皮肤) 的设置:
patch:
"style/color_scheme": Time_water # 应用的配色方案
"style/font_face": "Microsoft YaHei" # 应用的字体
"style/font_point": 13 # 字号大小
"style/horizontal": true # 候选栏横排显示
"style/inline_preedit": false # 隐藏打字栏
"style/display_tray_icon": false # 不显示托盘图标
"style/layout/spacing": 8 # 打字栏与候选栏的间距
"style/layout/border_width": 2 # 边框宽度
"style/layout/margin_x": 10 # 候选字左右边距
"style/layout/margin_y": 10 # 候选字上下边距
"style/layout/candidate_spacing": 10 # 候选字间隔
"style/layout/hilite_spacing": 3 # 序号和候选字之间的间隔
"style/layout/round_corner": 10 # 候选字背景色块圆角幅度
"style/layout/hilite_padding": 4 # 候选字背景色色块高度和打字栏未选择字背景色块高度 若想候选字背景色块无边界填充候选框,仅需其高度和候选字上下边距一致即可
# 配色方案名称(用于使用 建议英文)
"preset_color_schemes/Time_water":
name: 时光如水 # 名称 只用于阅读
author: 7e2hj # 作者 只用于阅读
text_color: 0x969483 # 打字栏除正在选择字外的字 字体颜色
back_color: 0xf2f2f2 # 打字栏与候选栏 背景色
border_color: 0xffccff # 边框颜色
#label_color: 0xffffff # 候选栏 序号颜色
candidate_text_color: 0x000000 # 候选栏 未候选字颜色
comment_text_color: 0xd28b26 # 候选栏 补充说明 字体颜色
hilited_text_color: 0x394bdd # 打字栏 正在选择的字 字体颜色
hilited_back_color: 0xf2f2f2 # 打字栏 正在选择的字 背景色
hilited_candidate_text_color: 0xff2288 # 候选栏 候选字颜色
hilited_candidate_back_color: 0xffccff # 候选栏 候选字背景色
颜色具体对应的位置 如图:
示例皮肤样式:
符号与特殊输入
标点符号可单独写入 symbols.yaml 文件 再导入
"punctuator/import_preset": 文件名
也可以直接加到 输入方案.custom.yaml 文件中 如下
#半角符号输入优化
punctuator: # 标点符号
import_preset: symbols # 导入symbols.yaml文件
half_shape: # 半角符号 全角为 full_shape
# 左边代表 中文输出状态下的各符号按键(即使它是英文的)
# 右边代表你期望输出的(区分中英文)
"!": "!"
"@": "@"
"#": "#"
"~": "~"
"$": "¥"
"%": "%"
"^": "……"
"&": "&"
"*": "*"
"(": "("
")": ")"
"_": "——"
"=": "="
"[": "["
"]": "]"
"{": "{"
"}": "}"
'\': "、"
'|': '|'
';': ';'
':': ':'
"'": {pair: ["‘", "’"]} # pair为 交替输出
'"': {pair: ["“", "”"]}
"<": ["<", "《"]
">": [">", "》"]
"/": ["/", "/", "、", "÷"]
'?': '?'
"`": "`" # 个人写makedown的习惯
# "`": ["·", "`"]
symbols: # 特殊符号(指带/的)
'/zkh': [ (, 「, 【, 〔, 『, 〖 ]
'/ykh': [ ), 」, 】, 〕, 』, 〗 ]
'/yx': [ 353577830@qq.com, xxx@163.com ]
'/wz': [ www.7e2hj.com, www.baidu.com, www.bilibili.com ]
键位绑定
键位绑定可以新建 key_bindings.custom.yaml 文件 再添加
也可以单独写文件 并导入
"key_binder/import_preset": 文件名
还可以直接加到 输入方案.custom.yaml 文件中 如下
# 修改键位 输入。 直接上屏
"key_binder/bindings":
- { when: has_menu, accept: period, send: period }
# 格式
- { when: xxx, accept: xxx, send: xxx }
说明:
- 原本
。
功能为 候选词翻页 when: has_menu
当有候选菜单时accept: period
接收句号send: period
输出句号- 详细参数见 章节开始的说明
词库导入与修改
rime词库分为 用户词库 和 固定词库
用户词库
用户词库即 Custom_phrase.txt
# Rime table
# coding: utf-8
#词语(tab/制表符)编码(tab/制表符)权重
的 d 100
了 l 100
啊 a 100
-> zjt 100
<- yjt 100
· dian 0
注意: 间隔一定不能用空格!
固定词库
固定词库即 词典名.dict.yaml
说明:
- 本文不教如何制作、转化词库 只教最基本的在词库中添加词语
- 想学制作词库 请看文末 官方文档 或 其他教程
固定词库的格式:
词语 编码 权重
编码部分 不同音节用空格分割词语
系统自动编码 词语中不能出现除中文外的任何字符
# 例一
四五來 si wu lai 20923
四五塊 si wu kuai 7009
七彩鎮 qi cai zhen 2562
便利化 bian li hua 8071
# 例二
佛耶戈
厄斐琉斯
莎弥拉
执行顺序
即使符号设置正确,你也依旧无法让 「 ` 」 直接上屏(在luna_pinyin中)
因为 有比 punctuator 更先执行的操作(先前绑定键位使
。
直接上屏 就是利用了此原理)
正确设置的 ` 直接上屏:
punctuator:
import_preset: symbols
half_shape:
"`": "`"
妨碍上屏的输入识别:
# 识别
recognizer:
import_preset: default
patterns:
# 识别特殊符号/
punct: '^/([0-9]0?|[A-Za-z]+)$'
# 识别使用五笔
# reverse_lookup: "`[a-z]*'?$"
真实的执行顺序:
# 参数含义见 章节开始的说明
engine:
processors:
- ascii_composer
- recognizer # 输入识别
- key_binder # 键位
- speller
- punctuator # 此为符号
- selector
- navigator
- express_editor
emoji表情设置
具体来说 是使你的候选框中 出现emoji表情选项
在用户文件夹下 放入下载的opencc文件夹(具体见我的配置章节)
在 输入方案.custom.yaml 文件中添加如下语句
patch:
# 添加emoji功能
'engine/filters/@before 0':
simplifier@emoji_suggestion
emoji_suggestion:
opencc_config: emoji.json
option_name: emoji_suggestion
tips: all
函数设置
Rime输入法中,可以添加函数来实现某些功能
比如说 输出 2021-07-22 23:51:11 (日期 时间)
在用户文件夹下新建 rime.lua 添加如下语句
function date_translator(input, seg)
if (input == "date" or input == "rq") then
--- Candidate(type, start, end, text, comment)
yield(Candidate("date", seg.start, seg._end, os.date("%Y-%m-%d"), ""))
yield(Candidate("date", seg.start, seg._end, os.date("%Y年%m月%d日"), ""))
yield(Candidate("time", seg.start, seg._end, os.date("%Y/%m/%d %H:%M:%S"), ""))
yield(Candidate("time", seg.start, seg._end, os.date("%Y%m%d_%H%M%S"), ""))
end
if (input == "time" or input == "sj") then
--- Candidate(type, start, end, text, comment)
yield(Candidate("time", seg.start, seg._end, os.date("%H:%M:%S"), ""))
yield(Candidate("time", seg.start, seg._end, os.date("%H:%M"), ""))
yield(Candidate("time", seg.start, seg._end, os.date("%Y/%m/%d %H:%M:%S"), ""))
yield(Candidate("time", seg.start, seg._end, os.date("%Y%m%d%H%M%S"), ""))
end
end
在 schema 文件的translators后 加入- lua_translator@date_translator
具体如下
translators:
- lua_translator@date_translator # @后面 和函数名一致
我的配置
我的配置中已经做好了 emoji表情 和 时间函数 的添加,并且附带@imy0823大佬整理的700w词库
下载地址如下:
链接:https://pan.baidu.com/s/1qxcaj1yHiTg02nDvY48vVw 提取码:epdn
附送 少数派XNOM制作的微软输入法皮肤
patch:
"style/display_tray_icon": true
"style/horizontal": true #横排显示
"style/font_face": "Microsoft YaHei" #字体
"style/font_point": 13 #字体大小
"style/inline_preedit": true # 嵌入式候选窗单行显示
"style/layout/border_width": 0
"style/layout/border": 0
"style/layout/margin_x": 12 #候选字左右边距
"style/layout/margin_y": 12 #候选字上下边距
"style/layout/hilite_padding": 12 #候选字背景色色块高度 若想候选字背景色块无边界填充候选框,仅需其高度和候选字上下边距一致即可
"style/layout/hilite_spacing": 3 # 序号和候选字之间的间隔
"style/layout/spacing": 10 #作用不明
"style/layout/candidate_spacing": 24 # 候选字间隔
"style/layout/round_corner": 0 #候选字背景色块圆角幅度
"style/color_scheme": Micosoft
"preset_color_schemes/Micosoft":
name: "Micosoft"
author: "XNOM"
back_color: 0xffffff #候选框 背景色
border_color: 0xD77800 #候选框 边框颜色
text_color: 0x000000 #已选择字 文字颜色
hilited_text_color: 0x000000 #已选择字右侧拼音 文字颜色
hilited_back_color: 0xffffff #已选择字右侧拼音 背景色
hilited_candidate_text_color: 0xffffff #候选字颜色
hilited_candidate_back_color: 0xD77800 #候选字背景色
candidate_text_color: 0x000000 #未候选字颜色
参考资料
自由输入法RIME简明配置指南 - 少数派 (sspai.com)
UserGuide · rime/home Wiki (github.com)
【图片】【SuperRime拓展词库】 for 朙月拼音&Win10拼音(700万词)【rime吧】_百度贴吧 (baidu.com)
Comments 4 条评论
博主 enzo
找了那么多小狼毫输入法的文章,就你把关键的点写清楚了.. 感谢
博主 是的
请问有每一个的示例的配置文件吗?
博主 7e2寒假
@是的 我放了百度网盘链接,另外邮箱不输对的话没法收到回复邮件哦
博主 是的
@7e2寒假 ok,谢谢来了