Skip to main content

以每分钟字数 (WPM) 为单位测量打字速度的控制台应用程序

项目描述

支持的 Python 版本 项目许可证 皮皮

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不涵盖报价数据库!