scribble

吕小荣

Blog Friends RSS About

调教 Rime 输入法(一): Markdown 篇

26 June, 2025

介绍

我们都很熟悉搜狗、微信输入法。它们很聪明,词库也足够强大,但我的内心总有一丝不安,因为我曾经喝过茶。想到每一次敲击都可能被上传到云端,被大数据监控,心里就瑟瑟发抖。我一直在寻找一款开源的本地输入法,不用担心 “big brother is watching you”.

于是,我找到了 Rime

Rime(中州韵输入法引擎)是一个开源的中文输入法框架,以其高度的可定制性和跨平台能力而闻名。它本身是一个核心引擎,在此之上,针对不同的操作系统和个人喜好,衍生出了多个版本。

Rime官方推出了针对三大主流桌面操作系统的发行版,它们是:

  1. Windows 系统:小狼毫 (Weasel)
  2. macOS 系统:鼠须管 (Squirrel)
  3. 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 冲突问题。