快捷输入
分号触发的计算器、日期格式化与拼音子模式、自由字面输入,以及系统短语和 zz 系列符号
快捷输入模式
在中文模式下按 ;(分号)进入快捷输入模式,用于计算、日期格式化等即时输入。快捷输入是一种「混输模式」,触发键可配置(默认分号),可在设置工具的方案 / 混输编辑入口中修改。
| 输入 | 功能 | 示例 |
|---|---|---|
; + 数学表达式 | 计算器 | ;1+2*3 → 7 |
; + 日期数字 | 日期格式化 | ;2026.4.24 → 2026年4月24日 等多种格式 |
; + 年月数字 | 年月格式化 | ;2026.4 → 2026年4月 等 |
; + 字母 | 进入拼音子模式 | 可在快捷输入内使用拼音输入(含系统短语) |
; + 越界字符 | 转入自由字面输入 0.114 新增 | ;GetTestData() → GetTestData() |
模式内操作:
- 缓冲区非空时,按
a–z选择候选 Space上屏首选,或重复上次输入Enter上屏原文Esc退出
自由字面输入 0.114 新增
要在 ; 里原样打出 GetTestData()、test_data、all-in-one、12.5GB 这类内容,靠的不是某个切换键——快捷输入里几乎每个可打印键都已双重占用(数字键选词、标点顶屏退出、字母选词),挑不出真正空闲的键。
判据落在输入内容本身:
一个字符若不在当前透镜的合法字符集内,它就不可能是编码,只能是字面内容。
此后一切可打印键都字面入缓冲,候选只有「你打的原文」一条。
透镜
透镜由缓冲内容推导,不是粘滞状态——退格删掉那个越界字符就自然回到原透镜,不需要退出键。
| 透镜 | 何时进入 | 合法字符 |
|---|---|---|
| 文本 | 首字符是字母 | 小写字母(数字键作选词,不入缓冲) |
| 数字 | 首字符是数字 | 数字与算式运算符(含 -) |
| 自由 | 出现越界字符 | 全部可打印字符,一律字面 |
合法字符集按透镜划分而非取并集,- 的归属因此自然分裂:
;1-5—— 首字符是数字走数字透镜,-在算式字符集内,仍是减法 →-4;all-in-one—— 首字符是字母走文本透镜,-越界 → 转自由透镜,得到字面all-in-one
自由透镜下不显示候选序号
该透镜下字母与数字都是字面输入,没有任何键能按序号选候选,画出序号等于骗你去按那个数字、结果把数字打进缓冲,故刻意不渲染。用 Space 或 Enter 上屏。
自由输入不展开短语占位
自由输入的候选不走短语展开:打 $AA 就上屏 $AA。那是你逐键敲进去的字面内容,不是词库候选。
配置:free_input
每个混输实例(schema.mix_modes 的一项)独立,内置「快捷」出厂为 auto:
| 取值 | 行为 |
|---|---|
off | 关闭。越界字符按原有规则处理(标点仍顶屏出中文标点、- 仍翻页) |
auto(默认) | 出现越界字符时自动转入自由透镜 |
always | 恒在自由透镜。适合新建专做字面输入的实例 |
行为变更:auto 下逗号不再顶屏
free_input = "auto" 下,;nihao, 的逗号会字面入缓冲,不再顶屏上屏「你好,」。; 本就是为特殊内容而进的模式,要标点可以先按空格上屏再打。不接受这个取舍的话,把该实例设为 free_input = "off" 即恢复旧行为。
撇号与分号:free_input_takes_select_keys
' 和 ; 默认是第 2 / 3 候选键(keys.select_key_groups),所以 rock'n'roll、don't、for(;;) 这类内容原本打不出来——这两个键在选词分派那一步就被截走了,轮不到上面那条越界判据。越界判据只认得出「字符本身不可能是编码」的键(大写字母、多数符号),对功能键无能为力。
选词键与字面字符是同一批物理键的两种解释,无法两全,只能按「有没有等价替代」分配:
| 键 | 归属 | 理由 |
|---|---|---|
; ' | 字面(默认) | 选第 2 / 3 候选只是数字键 2 / 3 的别名,让位不损失能力 |
数字 1–9 | 始终选词 | 文本透镜唯一的选词通路,让位就一个选词键都不剩 |
关掉 free_input_takes_select_keys(默认开)即让 ; ' 恢复选词,此时 rock'n'roll 又打不出——这是取舍,不是缺陷。
已知限制:纯小写字母 + 数字打不出
数字键始终是选词键,故 utf8、mp3、x64 这类「纯小写字母 + 数字」的内容里,数字会去选候选。先打一个大写字母或符号切进自由透镜即可,例如 UTF8。
相关配置
| 选项 | 说明 |
|---|---|
| 快捷输入触发键 | 闲时按触发键进入快捷(日期 / 计算 / 拼音 / 英文融合)模式,可多选;全部取消勾选即禁用快捷输入 |
| 自由输入 | 关闭 / 自动判断 / 始终字面输入,见上文 |
; ' 作字面字符 | 自由输入时这两个键不再选第 2 / 3 候选;数字键不受影响 |
| 快捷候选来源 | 开哪些候选来源(计算 / 日期 / 数字金额 / 重复上屏 / 拼音 / 英文),列表顺序即候选优先级 |
| 候选窗布局 | 快捷输入期间候选窗横排还是竖排,退出后自动恢复;出厂为「强制竖排」 |
| 小数保留位数 | 计算结果最多保留的小数位数 |
可选触发键:`、;、'、,、.、/、\、[、]。
触发键冲突检测
触发键可能与次选键、临时拼音触发键等冲突。设置工具会实时检测冲突,并在窗口顶部以警告条提示。同一个键只能分配给一项功能。
系统短语
以下编码在任何中文输入模式下直接输入即可触发,短语候选会追加在当前方案候选之后:
| 编码 | 功能 | 示例 |
|---|---|---|
date | 日期(多格式) | 2026年4月24日 / 2026-04-24 / 2026/04/24 等 |
time | 时间(多格式) | 14:30:00 / 14:30 / 14时30分00秒 |
datm | 日期时间 | 2026-04-24 14:30:00 等 |
week | 星期 | 星期四 / 周四 等 |
uuid | 生成 UUID | 550e8400-e29b-41d4-a716-446655440000 |
tmts | 时间戳 | 1706000000(秒)/ 1706000000000(毫秒) |
日期时间变量
在自定义短语中可使用以下变量,支持 $var 和 ${var} 两种语法,$$ 转义为 $。这是完整清单,没有日期时间以外的变量:
| 变量 | 说明 | 变量 | 说明 |
|---|---|---|---|
$Y | 四位年份 | $MM | 两位月份 |
$M | 月份(不补零) | $DD | 两位日期 |
$D | 日期(不补零) | $HH | 两位小时 |
$mm | 两位分钟 | $ss | 两位秒 |
$WC | 星期(中文,如「日」) | $YC | 中文年份(如「二〇二六」) |
$MC | 中文月份 | $DC | 中文日期 |
$ts | 秒级时间戳 | $tsms | 毫秒时间戳 |
变量名写错会让整条短语消失
遇到无法识别的变量名时,该短语条目会被整条丢弃,不会出现在候选里,也不会报错。若自定义短语突然不出候选,先检查变量名拼写。
变量名只吃 ASCII 字母,所以「价格 $5」这类 $ 后接非字母的写法会原样保留,不受影响。
需要 UUID、时间戳等内容时,用系统短语编码 uuid / tmts(见上表),或用命令直通车的函数语法。
zz 系列符号
输入 zz 前缀 + 分类缩写,可快速输入各类特殊符号:
| 编码 | 分类 | 示例 |
|---|---|---|
zzbd | 标点符号 | 、。·…""【】 |
zzsz | 圈数数字 | ❶❷❸❹❺ |
zzzm | 圈字母 | ⓐⓑⓒⓓⓔ |
zzpp | 中文偏旁 | 亻彳讠饣艹 |
zzdw | 单位符号 | ㎎㎏㎜㎝㎞ |
zzpy | 拼音声调 | āáǎàōóǒò |
zzds | 点号数字 | ⒈⒉⒊⒋⒌ |
zzks | 括号数字 | ⑴⑵⑶⑷⑸ |
zzys | 圆圈数字 | ①②③④⑤ |
zzzs | 中文数字 | ㈠㈡㈢㈣㈤ |
zzhb | 货币符号 | $¢£¥¤ |
zzjt | 箭头符号 | →↑←↓↖↗ |
zzde | 大写俄文 | АБВГДЕ |
zzxe | 小写俄文 | абвгдеж |
zzdl | 大写罗马 | ⅠⅡⅢⅣⅤ |
zzxl | 小写罗马 | ⅰⅱⅲⅳⅴ |
zzdx | 大写希腊 | ΑΒΓΔΕΖ |
zzxx | 小写希腊 | αβγδεζ |
zzpj | 平假名 | ぁあぃいぅう |
zzjp | 片假名 | ァアィイゥウェ |
zzsx | 数学符号 | ±×÷∈∏∑√∞ |
zzsb | 上标 | ¹²³⁴⁵ⁿ |
zzxb | 下标 | ₁₂₃₄₅ |
zzts | 特殊符号 | ℃°‰♂♀§№ |
zzzy | 注音符号 | ㄅㄆㄇㄈㄉ |
zz 系列日期时间
| 编码 | 功能 |
|---|---|
zzrq | 快速日期(多格式) |
zzsj | 快速日期时间(多格式) |
zzxq | 快速星期(含日期) |
自定义短语
系统短语之外,还可以自定义任意缩写短语,配合上面的日期时间变量生成动态内容。见短语管理。