wpm
es un programa terminal UNIX basado en curses para medir y mejorar la velocidad de escritura (medida en palabras por minuto o WPM).
Depende únicamente de las bibliotecas estándar de Python y, por lo tanto, funciona con Python 2, 3 y PyPy.
La forma recomendada es instalar a través de PyPi.
$ pip install wpm
Lo anterior generalmente requiere sudo
. Si no desea instalarlo en todo el sistema, puede usar pip install wpm --user
.
Recuerde buscar actualizaciones con pip install --upgrade wpm
. También puedes instalarlo desde el repositorio fuente con
$ pip install . [--user]
Para probar la aplicación sin instalarla, escriba make run
.
Simplemente escriba wpm
para iniciar el programa. El cronómetro comenzará cuando presione la primera tecla. En cualquier momento, puedes presionar ESCAPE para salir.
Puedes retroceder hasta la palabra actual que estás editando, si cometes un error. Los errores reducirán la puntuación de precisión.
Si tiene problemas para encontrar el archivo wpm
, también puede iniciarlo escribiendo python -m wpm
. También puedes ver opciones con python -m wpm --help
.
El WPM se calcula dividiendo los caracteres por segundo por cinco y luego multiplicándolos por 60. Esta es una fórmula muy conocida, pero proporciona puntuaciones ligeramente más altas que en sitios como typeracer.com. Sin embargo, es lo suficientemente bueno como para medir tu velocidad de escritura. Y funciona sin conexión y con tus propios textos.
Con respecto a TypeRacer, realmente les sugiero a todos que lo revisen. Utilizo este programa simplemente para calentar antes de dirigirme a typeracer.com, donde puedes competir contra otros.
Ejecute fuera de tmux y use una ventana de terminal realmente rápida. En mi sistema macOS, encontré la mejor latencia usando la Terminal.app incorporada, que supera fácilmente a iTerm. También encontré que el terminal Kitty proporciona una latencia muy baja.
En Linux, la latencia de escritura máxima se logra si abre una de las consolas virtuales. Por ejemplo, presione CTRL+ALT+F2 e inicie sesión, configure su TERM=xterm-color
y ejecute wpm
. Muchos términos también tienen una latencia bastante alta. Intente usar uxterm si necesita ejecutarlo dentro de X.
Creo que todo el mundo puede escribir a 100 palabras por minuto con suficiente práctica. Si actualmente estás escribiendo más lento que eso, mis sugerencias son:
Si constantemente supera las 100 palabras por minuto:
Practica un poco cada pocos días, pero no te excedas. Deténgase cuando esté cansado o sintiéndose desmotivado.
Si desea escribir un texto personalizado, ejecute
$ wpm --load yourfile.txt
Si usa --load
, el autor estará vacío actualmente, el título será el nombre base del archivo. El ID de texto será su inodo, solo para hacerlos algo únicos, para que sus estadísticas funcionen.
También puedes agrupar varios textos en un solo archivo JSON, usando wpm --load-json yourfile.json
. Debe tener el siguiente formato:
[
{
"author" : " Author Name " ,
"title" : " Title of Work " ,
"text" : " The text to type here ... "
"id" : 123 ,
},
...
]
La id
es un número entero opcional. Si lo omite, se utilizará un número entero creciente de base cero.
wpm guardará las partituras en un archivo CSV en ~/.wpm.csv. Este archivo se puede cargar directamente en Excel. Utiliza el mismo formato que TypeRacer, con la adición de algunas columnas adicionales al final. Eso significa que debería ser posible utilizar las herramientas de historial de puntuación de TypeRacer existentes con este archivo con modificaciones menores.
El orden de las columnas es:
Columna | tipo de datos | Explicación |
carrera | entero | Número de carrera, siempre creciente y ligado a la marca de tiempo. |
palabras por minuto | flotar | El promedio de palabras por minuto para esa cotización esa única vez |
exactitud | flotar | De 0 a 1, donde 1 significa que no hay errores |
rango | entero | Siempre 1 |
corredores | entero | Siempre 1 |
id_texto | entero | Número de elemento de texto en una base de datos determinada |
marca de tiempo | cadena | Marca de tiempo UTC en formato strptime %Y-%m-%d %H:%M:%S.%f |
base de datos | cadena | Ya sea "predeterminado" o el nombre base del archivo utilizado |
etiqueta | cadena | Una etiqueta proporcionada por el usuario para esa partitura (p. ej., teclado) |
Si hay algún problema al guardar o cargar el historial de partituras, copiará el archivo existente en ~/.wpm.csv.backup y creará uno nuevo.
Si usa --tag=... para etiquetar sus puntuaciones, esto se usará hasta que lo cambie. Es sólo un campo de texto libre que se guarda junto con el resultado de cada carrera. Es útil comparar qué tan bien escribe en diversas situaciones.
Por ejemplo, tal vez quieras comprobar si estás escribiendo más rápido (¿pero quizás menos preciso?) en diferentes teclados, o si estás aprendiendo una nueva distribución de teclado como Dvorak o Colemak y luego usas las etiquetas --tag=qwerty y --tag =dvorak. Si está aprendiendo a escribir con el tacto o con más dedos, a menudo comenzará más lento que su velocidad normal. Etiquetar es una excelente manera de realizar un seguimiento de su progreso.
Al ejecutar wpm --stats (o simplemente -s), verá una tabla de estadísticas, agrupadas por cada etiqueta. Muestra cosas como el promedio a lo largo del tiempo, junto con intervalos de confianza y predicción. Un elemento como n-10 significa "los últimos 10 juegos".
La primera vez que inicia wpm, escribe un archivo .wpmrc en su directorio de inicio. Contiene configuraciones de usuario que puede cambiar. Se dan en la siguiente tabla.
Sección | Nombre | Por defecto | Descripción |
maldiciones | retrasar | 15 | Tiempo en ms para esperar la clave de seguimiento después de ESC |
maldiciones | tiempo de espera de ventana | 20 | Tiempo en ms hasta dejar de esperar a que se presione una tecla. Si es negativo, espere una eternidad. |
palabras por minuto | nivel_confianza | 0,95 | El nivel de confianza para las estadísticas de WPM |
palabras por minuto | cpm | 0 | Si es positivo, informe CPM en estadísticas en lugar de WPM. |
palabras por minuto | espacios_tabulación | 1 | Número de espacios para expandir las pestañas |
palabras por minuto | ancho_envoltura | -1 | Si es positivo, ajuste el texto a este ancho. |
xterm256colores | Códigos de color para terminales de 256 colores (primer plano, fondo) | ||
colores xterm | Códigos de color para terminales ordinarios (primer plano, fondo) |
Puede habilitar ciertas funciones no oficiales configurando la variable de entorno WPM_DEVFEATURES=feature1:feature2:etc.
Busque una lista en el archivo wpm/devfeatures.py.
Copyright 2017, 2018 Christian Stigen Larsen
Distribuido bajo la Licencia Pública General GNU Affero (AGPL) v3 o posterior. Consulte el archivo LICENSE.txt para obtener el texto completo de la licencia. Este software utiliza software de código abierto.
¡La base de datos de cotizaciones no está cubierta por la AGPL!