输入统计 Lua:查看个人输入效率与历史数据
输入统计不仅记录字数,还会统计上屏次数、输入速度、平均编码长度、词长分布等数据,并支持按日、周、月、年及自定义时间区间查询。
万象通过 input_statistics.lua 记录本地输入数据,并将统计结果直接显示在候选窗口中。需要查看时输入对应指令即可,不需要打开额外的统计页面。
一、统计面板
输入对应的统计指令后,例如 /tj 查看生涯统计,候选窗口会生成统计面板。
面板中的各行内容可以通过数字键分别选择上屏,也可以按空格或回车将整组统计结果上屏。
面板展示示例:
※ 生涯统计 · 效率仪表盘
───────────────
📊 综合数据
均速:68 上屏:71426
峰速:78 字数:164196
🏆 段位:💨·行云流水
───────────────
⚡ 核心效率
平均编码:2.77 键/字
词组连打:92.2 %
───────────────
📈 字词分布
[1] 17% ▓░░░░░░░░░
[2] 52% ▓▓▓▓▓░░░░░
[3] 17% ▓░░░░░░░░░
[4] 9% ░░░░░░░░░░
[∞] 3% ░░░░░░░░░░
───────────────
◉ 方案:自然万象
◉ 平台:fcitx-rime 5.1.13
上述 Emoji、符号和分隔线属于统计候选本身的显示内容,用于区分不同数据区域。
二、默认统计指令
系统预设了以下统计指令,也可以在配置中自行修改:
/rtj—— 日统计,查看当天数据/ztj—— 周统计,查看本周数据/ytj—— 月统计,查看本月数据/ntj—— 年统计,查看本年数据/tj—— 生涯统计,查看全部历史数据/btj—— 设备统计数据,查看本设备历史数据
历史查询模式 (/htj)
除固定的日、周、月、年统计外,还可以通过 /htj 查询指定日期或时间区间的数据。
-
单日查询:输入
/htj20231015,查看 2023 年 10 月 15 日的统计数据。 -
区间查询:输入
/htj20231015t20240102,以t连接起止日期,统计 2023 年 10 月 15 日至 2024 年 1 月 2 日之间的数据。
这种方式适合回看某一天、某一阶段或较长时间范围内的输入情况。
三、本地数据库与按日记录
input_statistics.lua 使用本地数据库保存统计数据,默认数据库路径为:
lua/stats
统计数据以天为基础维度保存,包括键数、字数、上屏次数、词长分布等信息。
查询当天数据时,可以直接读取对应日期的记录;查询周、月、年或自定义时间区间时,则会读取指定范围内的日记录并进行汇总。
这种存储方式既可以保留长期累计数据,也可以支持按具体日期回溯,而不需要只维护一个不断累加的总计数值。
所有统计数据均保存在本地,不依赖在线服务。
四、自定义触发指令与称号
统计功能的触发指令、数据库路径以及面板中的称号,都可以通过 .custom.yaml 自定义。
相关配置可以放在 wanxiang.custom.yaml 的顶层节点,例如:
# 在 custom 文件中顶格添加或修改
input_stats:
db_name: "lua/stats" # 统计数据库路径
triggers:
local_total: "/btj" # 设备统计
today: "/rtj" # 日统计
week: "/ztj" # 周统计
month: "/ytj" # 月统计
year: "/ntj" # 年统计
total: "/tj" # 生涯统计
history: "/htj" # 历史查询
# 自定义称号,按照累计字数达到对应阈值后切换
# 格式:"字数阈值:称号名称"
titles:
- "0:初入道途·炼气期"
- "10000:小有所成·筑基期"
- "50000:凝真化虚·金丹期"
- "100000:破茧成蝶·元婴期"
- "500000:掌控法则·化神期"
- "1000000:破碎虚空·渡劫期"
titles 按累计字数阈值匹配称号。达到新的阈值后,统计面板会显示对应称号。
称号配置说明:如果没有设置
titles,系统会使用默认称号,例如“略有小成”“行云流水”等;如果自行配置titles,则使用自定义称号列表。
统计数据适合怎么看?
不同指标反映的内容并不相同:
- 字数、上屏次数:用于观察整体输入量。
- 均速、峰速:用于查看输入速度变化。
- 平均编码:表示平均每个字需要输入多少按键,可以辅助观察输入效率。
- 词组连打:用于观察多字词或连续组合在整体输入中的占比。
- 字词分布:用于查看单字、二字词、三字词及更长组合的使用比例。
- 历史查询:用于比较不同日期或阶段的输入情况。
统计结果更适合作为长期趋势参考,不需要单独追求某一个数值。