调教 Rime 输入法(一): Markdown 篇
介绍
我们都很熟悉搜狗、微信输入法。它们很聪明,词库也足够强大,但我的内心总有一丝不安,因为我曾经喝过茶。想到每一次敲击都可能被上传到云端,被大数据监控,心里就瑟瑟发抖。我一直在寻找一款开源的本地输入法,不用担心 “big brother is watching you”.
于是,我找到了 Rime。
Rime(中州韵输入法引擎)是一个开源的中文输入法框架,以其高度的可定制性和跨平台能力而闻名。它本身是一个核心引擎,在此之上,针对不同的操作系统和个人喜好,衍生出了多个版本。
Rime官方推出了针对三大主流桌面操作系统的发行版,它们是:
- Windows 系统:小狼毫 (Weasel)
- macOS 系统:鼠须管 (Squirrel)
- Linux 系统:中州韵 (ibus-rime)
值得一提的是,Rime的强大并不仅仅体现在开源和本地上,更在于其灵活的“输入方案”。用户可以根据自己的输入习惯,选择或自行配置各种输入方案。它没有 GUI 界面,配置文件为 yml 文件,可以比较方便的用 git 工具备份。这一点很对我的胃口,因为我特别喜欢 terraform,kubernetes 的 声明方式的配置管理风格 (declarative configuration) 。
问题
Rime 输入法的用户主要是geek(虽然我不是),但它的符号输入与常用的 Markdown 语法产生冲突。我十分不理解,为什么它默认配置不考虑程序员和写作者的感受。
标题符号冲突
在 Markdown 中,我们使用 #
, ##
, ###
来定义一、二、三级标题。但在 Rime 的中文输入模式下,输入 #
后敲击空格,Rime会认为你想输入井号相关的特殊符号,从而进入一个选择菜单,而不是直接输出#
,打断了写作流程。
表格竖线 |
输入困难
Markdown 使用竖线 |
来构建表格。例如,一个 3x3 的表格结构如下:
| Header 1 | Header 2 | Header 3 |
|----------|----------|----------|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
在 Rime 中文模式下,直接输入 |
可能会被识别为其他功能键或需要从符号列表中翻找,这让表格的创建变得异常低效
中英文标点偏好
Rime 默认会在中文模式下将 [
和 ]
映射为全角的中文方括号 【
和 】
。对于习惯在代码和技术文档中频繁使用半角 []
的用户来说,需要频繁切换中英文模式,非常不便。
定制 Rime
为了解决这些问题,我们需要创建一个自定义的配置文件,告诉 Rime 我们新的规则即可。但是 Rime 的文档浩如烟海,根本无从下手。最终经过搜索,我看到一个博主也遇到类似的问题,并且解决了。于是基于他的配方,做了一些修改,解决了我的问题。
第一步:找到用户设定文件夹
- Windows (小狼毫): 右键点击任务栏的图标,选择“用户文件夹”。
- macOS (鼠须管): 点击屏幕顶部菜单栏的图标,选择“用户设定”。
第二步:创建自定义配置文件
在打开的文件夹中,新建一个名为 luna_pinyin_simp.custom.yaml
的文件。
注意: 这个文件名是针对Rime自带的“朙月拼音·简化字”方案的。如果你使用其他方案,比如小鹤双拼,可能需要自行研究,我也不知道如何配置。
第三步:填入以下内容
将下面的所有代码复制并粘贴到你刚刚创建的 luna_pinyin_simp.custom.yaml
文件中。
patch:
punctuator/half_shape:
"!": "!"
"\"":
pair:
- "“"
- "”"
"#": "#"
"$": "$"
"%": "%"
"&": "&"
"'":
pair:
- "‘"
- "’"
"*": "*"
"+": "+"
",": ","
"-": "-"
".": "。"
"/": "/"
"\\": "、"
":": ":"
";": ";"
"=": "="
"?": "?"
"@": "@"
"(": "("
")": ")"
"[": "["
"]": "]"
"{": "「"
"}": "」"
"<": "《"
">": "》"
"^": "……"
"_": "——"
"`": "`"
"|": "|"
"~": "~"
代码解释:
patch:
:这是 Rime 自定义文件的起始标志,表示接下来的内容是对默认配置的“补丁”。"punctuator/full_shape"
和"punctuator/half_shape"
:这两个部分重新定义了全角和半角模式下的标点映射。我们将[
和]
都强制指定为输出半角的[
和]
,解决了方括号的问题。
第四步:重新部署
保存文件后,必须让 Rime 重新加载配置。右键点击输入法图标,选择“重新部署”或“Deploy”。
部署完成后,你就会发现之前提到的所有问题都已解决:你可以流畅地输入 Markdown 的标题和表格,并且在中文模式下也能直接打出 []
。完美的解决了 Rime 中文输入法和 Markdown 冲突问题。