Lançamento do Vim Racer
(vim-racer.com)- Vim Racer é um jogo online em que você encontra rapidamente pontos-alvo em um texto usando comandos de movimento do Vim, permitindo praticar no formato de competição por tempo enquanto aperfeiçoa os comandos
- Cada vez que você alcança um alvo, o próximo aparece, e a corrida de 12 alvos é feita combinando comandos de movimento do Vim como
we3j - Ao ativar a configuração relative lines, fica mais fácil praticar movimentos com base em números de linha relativos, o que ajuda a reduzir a necessidade de digitar números de linha absolutos longos em arquivos grandes
- Para medir a habilidade de navegação manual, o leaderboard rejeita tempos abaixo de 1 segundo, e a mudança de nome de usuário também é limitada a uma vez por hora
- É possível ver as teclas usadas pelos melhores colocados e dicas para cada tipo de corrida, então ele pode ser usado não só como jogo, mas também como material de aprendizado de movimentação no Vim
Jogo de velocidade disputado com comandos de movimento do Vim
- O objetivo do Vim Racer é chegar a todos os alvos o mais rápido possível
- Quando você alcança um alvo, o próximo aparece
- Os alvos são mostrados como
A - Todos os comandos de movimento do Vim podem ser usados, então um tempo rápido depende bastante da escolha eficiente dos comandos de navegação
- Para começar uma corrida, clique em reset
- Após o clique, o foco do navegador vai para o editor, permitindo usar imediatamente comandos de movimento do Vim como
w
- Após o clique, o foco do navegador vai para o editor, permitindo usar imediatamente comandos de movimento do Vim como
- A tela atual mostra
Race Level: 12 Targets (Burn Detector),Race Mode: StandardeNavigations: 0/12 - O feedback é recebido por meio da comunidade no Reddit
Configurações e restrições de operação
- relative lines pode ser ativado nas configurações pelo ícone de engrenagem no canto superior esquerdo do editor
- É útil se você prefere colocar uma contagem de movimento relativa antes do comando, como em
3j - Em arquivos grandes, isso pode ser mais rápido do que digitar
1230gg - Um exemplo de configuração local é mostrar o número absoluto apenas na linha do cursor e usar números relativos nas demais
- É útil se você prefere colocar uma contagem de movimento relativa antes do comando, como em
- As doações estão sendo usadas atualmente para financiar upgrades do servidor do vim-racer e do banco de dados
- O banco de dados atual é o DynamoDB
- O DynamoDB tem uma camada gratuita útil para começar um site pequeno, mas traz limitações de funcionalidade em vez de eficiência de custo
- O principal objetivo no momento é migrar para um banco de dados SQL, e o custo da menor instância é de cerca de 100 dólares por ano
- Doações anteriores estão sendo reinvestidas na fonte de receita recorrente do vim-racer
- O primeiro doador foi ThePrimeagen
Leaderboard e uso para aprendizado
- O leaderboard rejeita tempos abaixo de 1 segundo
- O usuário
howmostra que tempos abaixo de 2 segundos ainda podem ser legítimos - O jogo busca medir o quão bem o usuário navega manualmente pelo texto
- Tempos de
<20msdemonstram habilidade com Vim, mas não combinam com a proposta do jogo - No futuro, podem surgir não só variações de alvos, mas também outros tipos de jogo ou leaderboards capped/uncapped
- Por enquanto, como os recursos de desenvolvimento são limitados, a direção é manter no leaderboard pontuações obtidas por navegação pura
- O usuário
- O nome de usuário pode ser alterado apenas uma vez por hora, sem a necessidade de criar uma conta completa
- Essa limitação existe para evitar que o leaderboard fique excessivamente lotado
- O Vim Racer também pode ser usado para aprender movimentação no Vim
- Cada tipo de corrida oferece dicas para aprender rotas eficientes até os alvos
- Cada entrada do leaderboard inclui as teclas usadas pelos melhores colocados
- O usuário pode analisar essas sequências de teclas para aprender novos comandos de movimento do Vim e melhorar sua habilidade de navegação
1 comentários
Comentários no Hacker News
Conseguiu entrar no placar com 17 segundos no nível jpeg, e foi realmente muito divertido como jogo competitivo
Joguei meio que no instinto para chegar à posição pedida sem nenhuma otimização, e ainda assim foi divertido; especialmente o recurso que mostra o processo de movimentação das partidas do placar parece útil até como material de aprendizado
Mas há um tempo de 1 segundo entre os melhores, e isso dá menos de 0,05 s por movimento, então não parece humanamente possível. Parece uso de entrada por script, e como seria difícil impedir isso nessa interface, talvez fazer o ranking por número de teclas pressionadas em vez de tempo decorrido colocasse no topo não a pessoa mais rápida, mas a mais eficiente, além de reduzir a utilidade de trapaças com script
%. Mesmo de forma meio desajeitada, eu consegui baixar para 6,5 segundosMuito bom mesmo
Seria legal ter um modo que, em vez de velocidade, minimizasse o número de teclas pressionadas. Aí o foco da competição deixaria de ser martelar hjkl rapidamente e passaria a ser uma solução ótima no estilo Vim golf
Um bug simples: no placar, o caractere
`aparece como “Unsupported”. Isso fica especialmente visível ao seguir o dispositivo de Duff que usa marksAcho que isso provavelmente está sendo tratado com base em uma lista de permissões, então deve dar para resolver adicionando lá
É o tipo de jogo que, quando você começa, não consegue parar
:qum diaMuito divertido. Queria saber se conhecem mais jogos de Vim assim
Sempre quis usar Vim, mas como uso o evil mode do Emacs, ainda não sou rápido
O site parece estar quebrado de algum jeito. Não importa o que eu faça, nada responde, e tentei tanto no Chrome quanto no Firefox
Antes a transição era suave, mas agora preciso invalidar o cache manualmente. Parece acontecer só em alguns deploys
Muito legal. Só que o programa deu crash quando, numa fase mais adiantada, apaguei a linha que ele tinha definido como objetivo
Ainda assim, obrigado por avisar; isso ajuda a definir a prioridade
O recurso de ver pelo placar como outras pessoas fizeram é muito útil
Quero testar, mas os números das linhas ficam seguindo o cursor. Parece bug; será que deixei passar alguma coisa? Não usei tanto Vim assim, mas normalmente dá para se mover, mesmo que mais devagar
Testei no Chrome e no Firefox
Graças ao feedback, isso subiu na lista de prioridades
set rnuÉ realmente útil para movimentos relativos como
5jou12k:)Divertido. Seria ótimo se adicionassem exibição do número de teclas pressionadas e um modo em que, em vez de ir mais rápido, o objetivo fosse minimizar esse número
Também seria bom deixar mais claro na explicação do jogo o que é o “target”
O número de teclas me deixa em dúvida, porque quero muito que o foco deste jogo seja realmente a velocidade. O VimGolf já cobre muito bem esse tipo de quebra-cabeça e cenário, e o diferencial aqui é a velocidade
Em vez disso, quero analisar os dados de teclas. Por exemplo, pode acabar surgindo um resultado de que
wwwé mais rápido do quef. Minha hipótese inicial era que buscar comfeFnão seria tão eficiente quanto movimentos comuns comow,e,h,j, mas isso já parece estar errado. Só que provavelmente eu teria que formular isso como “uma parcela considerável dos melhores usafeF”, o que pode simplesmente significar que eles são rápidos, ou pelo menos que essas teclas não trazem uma grande desvantagemMesmo que isso não seja exatamente o mesmo que velocidade pura, acaba se traduzindo em conforto de uso em comparação com outros editores e é muito importante para a experiência de digitação
É um jogo ruim, mas mostra bem uma coisa: movimentação no Vim sem Easymotion não é carro de corrida; é correr a pé em uma corrida de carros