Lanzamiento de Vim Racer
(vim-racer.com)- Vim Racer es un juego en línea en el que debes encontrar rápidamente puntos objetivo dentro de un texto usando comandos de movimiento de Vim, lo que permite practicar el dominio de comandos en formato de competencia por récords
- Cada vez que llegas a un objetivo aparece el siguiente, y la carrera de 12 objetivos se realiza combinando comandos de movimiento de Vim como
wy3j - Activar la opción relative lines facilita practicar movimientos basados en números de línea relativos, lo que ayuda a reducir la necesidad de ingresar números de línea absolutos largos en archivos grandes
- El leaderboard rechaza récords de menos de 1 segundo para medir la capacidad de navegación manual, y también limita los cambios de nombre de usuario a una vez por hora
- Se pueden ver las teclas presionadas por quienes obtienen puntajes altos y tips por carrera, por lo que también puede usarse como material de aprendizaje de movimientos de Vim, más allá de ser un simple juego
Un juego de velocidad para competir con comandos de movimiento de Vim
- El objetivo de Vim Racer es moverse a todos los objetivos lo más rápido posible
- Al llegar a un objetivo, aparece el siguiente
- Los objetivos se muestran como
A - Se pueden usar todos los comandos de movimiento de Vim, por lo que lograr un buen tiempo depende en gran medida de elegir comandos de movimiento eficientes
- Para iniciar una carrera, haz clic en reset
- Después del clic, el foco del navegador pasa al editor y puedes usar de inmediato comandos de movimiento de Vim como
w
- Después del clic, el foco del navegador pasa al editor y puedes usar de inmediato comandos de movimiento de Vim como
- La pantalla actual muestra
Race Level: 12 Targets (Burn Detector),Race Mode: StandardyNavigations: 0/12 - Reciben feedback a través de la comunidad de Reddit
Configuración y restricciones operativas
- relative lines puede activarse desde la configuración con el ícono de engranaje en la parte superior izquierda del editor
- Es útil si prefieres anteponer al comando la cantidad de movimientos relativos, como en
3j - En archivos grandes, puede ser más rápido que escribir
1230gg - Un ejemplo de configuración local es mostrar el número de línea absoluto solo en la línea del cursor y usar números de línea relativos para el resto
- Es útil si prefieres anteponer al comando la cantidad de movimientos relativos, como en
- Las donaciones se usan actualmente para financiar el servidor de vim-racer y una actualización de la base de datos
- La base de datos actual es DynamoDB
- DynamoDB tiene un nivel gratuito útil para iniciar un sitio pequeño, pero implica restricciones funcionales a cambio de eficiencia de costos
- El objetivo principal actual es actualizar a una base de datos SQL, y el costo de la instancia más pequeña es de alrededor de 100 dólares al año
- Las donaciones anteriores se están reinvirtiendo en fuentes de ingresos recurrentes para vim-racer
- El primer donante fue ThePrimeagen
Leaderboard y uso para aprendizaje
- El leaderboard rechaza récords de menos de 1 segundo
- El usuario
howmuestra que incluso récords de menos de 2 segundos pueden ser legítimos - El juego busca medir qué tan bien los usuarios navegan manualmente por el texto
- Los récords de
<20msdemuestran habilidad usando Vim, pero no encajan con el propósito del juego - En el futuro podrían aparecer no solo variantes de objetivos, sino también otros tipos de juego o leaderboards capped/uncapped
- Por ahora, debido a recursos de desarrollo limitados, la idea es mantener en el leaderboard los puntajes obtenidos mediante navegación pura
- El usuario
- En lugar de crear cuentas completas, el nombre de usuario solo puede cambiarse una vez por hora
- Esta limitación busca evitar que el leaderboard se llene en exceso
- Vim Racer también puede usarse para aprender movimientos de Vim
- Cada tipo de carrera ofrece tips para aprender rutas que permiten moverse eficientemente hacia los objetivos
- Cada entrada del leaderboard incluye las teclas que usó la persona con puntaje alto
- Los usuarios pueden analizar esa secuencia de teclas para aprender nuevos comandos de movimiento de Vim y mejorar sus habilidades de navegación
1 comentarios
Opiniones en Hacker News
Entré en la tabla de posiciones del nivel jpeg con 17 segundos, y como juego competitivo fue realmente divertido.
Jugué moviéndome por instinto para llegar a la posición solicitada, sin optimizar, y aun así lo disfruté; en particular, la función que muestra el proceso de movimiento en las partidas de la tabla de posiciones parece útil también como material de aprendizaje.
Eso sí, en los primeros puestos hay un registro de 1 segundo, menos de 0.05 segundos por movimiento, así que no parece humanamente posible. Parece que usan entrada por script, y en esta interfaz sería difícil impedirlo; si el ranking se ordenara por cantidad de teclas presionadas en vez de por tiempo transcurrido, subiría la persona más eficiente y no la más rápida, y el cheating con scripts perdería sentido.
%. Yo, incluso torpemente, bajé hasta 6.5 segundos.Realmente excelente.
Sería bueno que hubiera un modo para minimizar la cantidad de teclas presionadas en lugar de la velocidad. Entonces lo competitivo no sería machacar hjkl rápido, sino una solución optimizada al estilo Vim golf.
Un bug simple: en la tabla de posiciones, el carácter
`aparece como “Unsupported”. Se nota especialmente al seguir el Duff's device que usa marcas.Probablemente lo estoy manejando con una lista de permitidos, así que bastaría con agregarlo ahí.
Un juego que, una vez que empiezas, no puedes dejar.
:q.Muy divertido. Me pregunto si conocen más juegos de Vim como este.
Siempre quise usar Vim, pero como usuario de evil mode en Emacs todavía no soy rápido.
Parece que el sitio está roto de alguna forma. Haga lo que haga, no pasa nada; lo probé tanto en Chrome como en Firefox.
Antes hacía la transición sin problemas, pero ahora tengo que invalidar la caché manualmente. Parece ocurrir solo en algunos despliegues.
Realmente genial. Eso sí, en una etapa posterior borré una línea que el programa iba a usar como objetivo y hubo un crash.
De todos modos, gracias por avisar; ayuda a priorizarlo.
La función de ver cómo lo hicieron otras personas mediante la tabla de posiciones es muy útil.
Quiero probarlo, pero los números de línea siguen al cursor. Parece un bug; ¿me estoy perdiendo algo? No he usado mucho Vim, pero normalmente, aunque sea lento, puedo moverme.
Lo probé en Chrome y Firefox.
Gracias al feedback, esto subió de prioridad.
set rnuEs muy cómodo para movimientos relativos como
5jo12k:)Es divertido. Sería excelente que agregaran una visualización de la cantidad de teclas presionadas y un modo en el que haya que minimizar esa cantidad en vez de ir más rápido.
También estaría bueno que la descripción del juego explique más claramente qué es “target”.
La cantidad de teclas presionadas me genera dudas, porque realmente quiero que el foco de este juego esté en la velocidad. VimGolf ya cubre bien ese tipo de puzzles y escenarios, y lo que diferencia a esto es la velocidad.
En cambio, quiero analizar los datos de entrada de teclas. Por ejemplo, podría resultar que
wwwsea más rápido quef. Mi hipótesis inicial era que buscar confyFno era más eficiente que movimientos comunes comow,e,h,j, pero ya parece ser falsa. Aunque quizá habría que expresarlo más bien como “una proporción considerable de los primeros puestos usafyF”, lo cual podría significar que son rápidos o, al menos, que esas teclas no suponen una gran desventaja.Aunque eso no sea lo mismo que velocidad pura, comparado con otros editores se traduce en comodidad de uso y es muy importante para la experiencia de escritura.
Es un juego pésimo, pero muestra bien una cosa: moverse en Vim sin Easymotion es como competir a pie, no en un auto de carreras.