Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put [challenge ID]

Played Challenges

Convert list of enums to list of localization terms - 20 entries

While making my game Piloteer, I had a large list of TaskTypes and needed to convert them to an equivalent list of localization terms, to be used when translating the game's text into different languages.

  • Best score: 86
  • Best player score: 86
  • Position: #2 / 9
  • Number of attempts: 2
From brakets to parens - 699 entries

This is one of the most common problem when you wrap an array for error handling. Vim is useful when you convert foo[i][j][k] into foo(i, j, k) for many times.

  • Best score: 24
  • Best player score: 61
  • Position: #143 / 160
  • Number of attempts: 1
π - 211 entries

1200 π chars

  • Best score: 16
  • Best player score: 24
  • Position: #33 / 55
  • Number of attempts: 5
Create json from a .env file - 1368 entries

A simple everyday task.

  • Best score: 39
  • Best player score: 53
  • Position: #121 / 323
  • Number of attempts: 2
Sort and Tag - 644 entries

The goal is to sort these lines alphabetically, assign a unique identifier to each line in the format "[01]", "[02]", etc., and then restore the original order of the lines while preserving the assigned identifiers.

  • Best score: 36
  • Best player score: 57
  • Position: #40 / 132
  • Number of attempts: 8
YAML to dotenv - 1293 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 16
  • Position: #53 / 272
  • Number of attempts: 15
Change class fields from snake case to camel case - 278 entries

Change the class fields in this Scala class from snake case to camel case

  • Best score: 13
  • Best player score: 13
  • Position: #63 / 104
  • Number of attempts: 2
Reorganize Pokémon - 697 entries

Change the format of the each line and sort alphabetically.

  • Best score: 18
  • Best player score: 18
  • Position: #36 / 192
  • Number of attempts: 5
Deleting text - 325 entries

Delete everything except some specific numbers.

  • Best score: 26
  • Best player score: 45
  • Position: #58 / 101
  • Number of attempts: 1
New teacher - 1440 entries

Update the details of the new CS teacher.

  • Best score: 19
  • Best player score: 24
  • Position: #120 / 302
  • Number of attempts: 4
months to html list items - 1119 entries

Turn the months into list items.

  • Best score: 22
  • Best player score: 25
  • Position: #138 / 303
  • Number of attempts: 2
Quicksort - 2073 entries

We need the numbers in the first row sorted as quickly as possible! Be careful not to disturb the data below the divider though: that must remain unchanged.

  • Best score: 6
  • Best player score: 24
  • Position: #284 / 460
  • Number of attempts: 3
Tic-Tac-Toe Grid Transformation - 449 entries

Your mission is to efficiently convert the original Tic-Tac-Toe grid, represented by 'x's and 'o's, into a neat and well-organized game board.

  • Best score: 56
  • Best player score: 56
  • Position: #7 / 87
  • Number of attempts: 15
Paste a column after a column - 2638 entries

This task is very common while using multi-cursor. What is the elegant vim way ?

  • Best score: 14
  • Best player score: 16
  • Position: #199 / 572
  • Number of attempts: 5
Letterbox - 146 entries

Make a box!

  • Best score: 35
  • Best player score: 208
  • Position: #29 / 29
  • Number of attempts: 1
The D a n k Side of the Moon - 57 entries

You're making a vaporwave cover of The Dark Side of the Moon. So for the tracklisting, you want to: 1. Change the track names to v a p o r c a s e 2. Double the track lengths (since you're slowing them down). Well... let's just double the minutes.

  • Best score: 40
  • Best player score: 40
  • Position: #8 / 18
  • Number of attempts: 7

Contributed Challenges

Convert list of enums to list of localization terms - 20 entries

While making my game Piloteer, I had a large list of TaskTypes and needed to convert them to an equivalent list of localization terms, to be used when translating the game's text into different languages.

Whitaker Trebella
Github:

entered into 16 challenges

contributed 1 challenges