以每分钟字数 (WPM) 为单位测量打字速度的控制台应用程序
项目描述
wpm是一个基于 curses 的 UNIX 终端程序,用于测量和提高您的打字速度(以每分钟字数或 WPM 衡量)。
它仅依赖于标准 Python 库,因此适用于 Python 2、3 和 PyPy。
特征
数据库中超过 4900 条报价,无耻地从 typeracerdata.com 窃取
极低的打字延迟!
当您敲击第一个键时计时器开始
完成的文字变暗,帮助您专注于前方
保留单独的分数,例如键盘类型、布局等。
将比赛成绩保存在 CSV 文件中,该文件是 TypeRacer 导出格式的超集。在 Excel 中也可以正常加载。
在您的终端窗口中快速启动“中间时刻”
如何安装
推荐的方式是通过 PyPi 安装
$ pip install wpm
以上通常需要sudo。如果您不想在系统范围内安装它,可以使用pip install wpm --user。
请记住使用pip install --upgrade wpm检查升级。您也可以从源存储库安装它
$ pip install . [--user]
要在不安装的情况下仅测试应用程序,请键入make run。
如何运行
只需键入wpm即可启动程序。当您按下第一个键时,计时器将启动。在任何时候,您都可以点击 ESCAPE 退出。
如果您犯了错误,您可以退格为您正在编辑的当前单词。错误会降低准确率。
如果您在查找wpm文件时遇到问题,也可以通过键入 python -m wpm来启动它。您还可以使用python -m wpm --help查看选项。
计算 WPM
WPM 的计算方法是将每秒字符数除以 5,然后将其乘以 60。这是一个众所周知的公式,但其得分略高于 typeracer.com 等网站。但是,它足以衡量您的打字速度。它可以离线工作,并且可以使用您自己的文本。
关于TypeRacer,我真的建议大家去看看。我使用这个程序只是为了在前往 typeracer.com 之前热身,在那里您可以与其他人比赛。
如何获得最低的打字延迟
在 tmux 之外运行,并使用一个非常快速的终端窗口。在我的 macOS 系统上,我使用内置的 Terminal.app 发现了最佳延迟,它轻松击败了 iTerm。我还发现 Kitty 终端可以提供非常低的延迟。
在 Linux 上,如果您打开其中一个虚拟控制台,则可以实现最终的打字延迟。例如,点击 CTRL+ALT+F2 并登录,设置您的 TERM=xterm-color并运行wpm。许多术语也有相当高的延迟。如果需要在 X 中运行,请尝试使用 uxterm。
如何提高打字速度
我相信,只要有足够的练习,每个人都能以 100 WPM 的速度打字。如果您目前的打字速度比这慢,我的建议是:
不看键盘就学会打字
学会使用你所有的手指
坐直并在舒适的环境中打字
如果您始终高于 100 WPM:
专注于下一个词
键入单词而不是字符
训练肌肉记忆
较慢地键入硬零件
举起你的手腕
每隔几天练习一点,但不要过度。当你累了或感觉没有动力时停下来。
加载自定义文本
如果要键入自定义文本,请运行
$ wpm --load yourfile.txt
如果您使用--load,作者当前将为空,标题将是文件的基本名称。文本 ID 将是它的 inode,只是为了让它们有点独特,这样你的统计数据就会起作用。
您还可以使用wpm --load-json yourfile.json将多个文本捆绑到一个 JSON 文件中。它必须具有以下格式:
[
{
"author": "Author Name",
"title": "Title of Work",
"text": "The text to type here ..."
"id": 123,
},
...
]
id是一个可选的整数。如果你忽略它,将使用一个递增的、从零开始的整数。
比赛历史的格式
wpm 会将分数保存在~/.wpm.csv的 CSV 文件中。该文件可以直接加载到 Excel 中。它使用与 TypeRacer 相同的格式,但在末尾添加了一些额外的列。这意味着应该可以对这个文件使用现有的 TypeRacer 分数历史工具,只需稍作修改。
列顺序为:
柱子 |
数据类型 |
解释 |
种族 |
整数 |
比赛号码,总是增加并与时间戳相关联 |
wpm |
漂浮 |
该报价单次的平均 WPM |
准确性 |
漂浮 |
从 0 到 1,其中 1 表示没有错误 |
秩 |
整数 |
总是 1 |
赛车手 |
整数 |
总是 1 |
text_id |
整数 |
给定数据库中文本的项目编号 |
时间戳 |
字符串 |
strptime 格式的 UTC 时间戳%Y-%m-%d %H:%M:%S.%f |
数据库 |
字符串 |
“默认”或使用的文件的基本名称 |
标签 |
字符串 |
用户为该乐谱提供的标签(例如,键盘) |
如果保存或加载分数历史有任何问题,它会将现有文件复制到~/.wpm.csv.backup并创建一个新文件。
标记比赛
如果您使用–tag=...来标记您的分数,这将一直使用,直到您更改它为止。它只是一个与每个比赛结果一起保存的自由文本字段。比较您在各种情况下的打字情况非常有用。
例如,也许您想检查您是否在不同的键盘上打字更快(但可能不太准确?),或者您正在学习新的键盘布局,如 Dvorak 或 Colemak,然后使用标签–tag=qwerty和 –tag=dvorak . 如果你正在学习触摸打字,或者用更多的手指打字,你开始时通常会比正常速度慢。标记是跟踪进度的好方法。
通过运行wpm –stats(或只是-s),您将看到按每个标签分组的统计信息表。它显示了一段时间内的平均值,以及置信区间和预测区间。像n-10这样的项目表示“最近 10 场比赛”。
~/.wpmrc 文件
第一次启动 wpm 时,它会将.wpmrc文件写入您的主目录。它包含您可以更改的用户设置。它们在下表中给出。
部分 |
姓名 |
默认 |
描述 |
诅咒 |
esc延迟 |
15 |
ESC 后等待后续键的时间(毫秒) |
诅咒 |
窗口超时 |
20 |
以毫秒为单位的时间,直到放弃等待按键。如果是否定的,请永远等待。 |
wpm |
置信度 |
0.95 |
WPM 统计的置信度 |
wpm |
每分钟每分钟 |
0 |
如果是肯定的,请在统计信息中报告 CPM 而不是 WPM |
wpm |
tab_spaces |
1 |
将制表符展开到的空格数 |
wpm |
wrap_width |
-1 |
如果为正,则以该宽度换行 |
xterm256颜色 |
256 色终端的颜色代码(前景、背景) |
||
xtermcolors |
普通端子的颜色代码(前景、背景) |
开发特点
您可以通过设置环境变量WPM_DEVFEATURES=feature1:feature2:etc来启用某些非官方功能 。.
在文件wpm/devfeatures.py中查找列表。
执照
版权所有 2017, 2018 克里斯蒂安·斯蒂根·拉森
根据 GNU Affero 通用公共许可证 (AGPL) v3 或更高版本分发。有关完整的许可证文本,请参见文件 LICENSE.txt。该软件使用开源软件。
AGPL不涵盖报价数据库!