Vim Racer
Reddit Logo
00:00
Move anywhere to start
Race Level: 12 Targets (Burn Detector)
NPM: -
Navigations: 0/12

The Speed-Based Vim Game

The goal of the game is to navigate to every target as quickly as possible. Once you navigate to a target, the next target will appear. Targets look like this: A. You have access to every vim motion command, so the most efficient time will make use of them. To start the race, click reset. Now your browser will be focused on the editor, so you can immediately starting using vim motions like 'w'.

Thank you for playing, and any feedback is greatly encouraged through our reddit community!

Race Type: 12 Targets (Burn Detector)


                                  ....
                                .'' .'''
.                             .'   :
\\                          .:    :
 \\                        _:    :       ..----.._
  \\                    .:::.....:::.. .'         ''.
   \\                 .'  #-. .-######'     #        '.
    \\                 '.##'/ ' ################       :
     \\                  #####################         :
      \\               ..##.-.#### .''''###'.._        :
       \\             :--:########:            '.    .' :
        \\..__...--.. :--:#######.'   '.         '.     :
        :     :  : : '':'-:'':'::        .         '.  .'
        '---'''..: :    ':    '..'''.      '.        :'
           \\  :: : :     '      ''''''.     '.      .:
            \\ ::  : :     '            '.      '      :
             \\::   : :           ....' ..:       '     '.
              \\::  : :    .....####\\ .~~.:.             :
               \\':.:.:.:'#########.===. ~ |.'-.   . '''.. :
                \\    .'  ##########   _.' '. '-.       '''.
                :\\  :     ########          '.  '-.        :
               :  \\'    '   #### :           :.    '-.      :
              :  .'\\   :'  :     :             :      '-.    :
             : .'  .\\  '  :      :     :        :        '.   :
             ::   :  \\'  :.      :     :        :          '. :
             ::. :    \\  : :      :    ;        :           '.:
              : ':    '\\ :  :     :     :  :     :        ..'
                 :    ' \\ :        :     ;  |      :   .'''
                 '.   '  \\:                         :.''
                  .:..... \\:       :            ..''
                 '._____|'.\\......'''''''.:..'''
                            \\
    

Cheaters... shall not pass!

- The Vim Wizard

What music should I listen to while playing vim racer?

80s pop hits 😎. The game's design is loosely inspired by the 80s: neon fashion and a pixel art font.

Can I turn on relative lines?

You can! As of writing this, settings like relative lines can be accessed through the gear icon above the editor and to the left.

Why would I use relative lines?

Relative lines can be really helpful if you like using relative prefixes to your commands i.e. 3j to move 3 lines down. Especially for large files, this might be faster than typing 1230gg. My personal local setup is relative lines, except for the cursor line. Instead of 0, my cursor has the absolute line number. This provides a quick reference, so I know where I am in a file.

What do you do with donations?

Currently, all new donations go towards vim-racer's servers. A big limitation is our database choice: DynamoDB. DynamoDB is great for a small site because the free tier will let you kick start something cool! The cost effectiveness comes at the loss of features. My main goal right now is to upgrade the db to a sql database, but the smallest instance is ~$100 a year. Donations are put towards a fund for that database upgrade. Previous donations are being reinvested into a recurring revenue stream for vim-racer. More to come on that! Huge thank you to our site's first donator: ThePrimeagen

Why does the leaderboard reject scores with a time taken <1 seconds?

I'm still learning how to best regulate this game, and I'm learning more about how capable the community is; a very talented and avid user 'how', recently demonstrated that <2 seconds is a legit score. The game is trying to measure how well a user can navigate through text, manually, so while a <20ms score demonstrates resourcefulness with VIM, it is against the spirit of the game. Vim-racer might evolve; instead of just variations in targets, there might be truly different game types. Perhaps, there could be two leaderboards, one capped and one uncapped. For now, dev resources are limited, so I'd like to keep the leaderboard accessible to scores obtained by pure navigation 🙂

Why can I only change my username once every hour?

En lieu of full account creation, the rate limiting keeps the leaderboard from filling up. I'm hoping that the leaderboard can be a space where everyone submits their best score.

Can vim-racer be used as a learning resource?

Vim-racer is a great resource for learning new vim motions. Each race type has a tip to help you learn the efficient path to navigating through the targets. Also, each leaderboard entry contains the keys used by a competitor to set the highscore. You can analyze those key sequences to learn new vim motions, and to improve at vim navigation!