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

Reordering properties - 1067 entries

Arrange the CSS lines for the #topbar selector based on their complete line length, from shortest to longest.

  • Best score: 24
  • Best player score: 43
  • Position: #43 / 245
  • Number of attempts: 9
Sort and Tag - 632 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: 86
  • Position: #66 / 128
  • Number of attempts: 4
Changing date formats - 617 entries

Change the date format to Y/M/D.

  • Best score: 37
  • Best player score: 52
  • Position: #37 / 172
  • Number of attempts: 4
YAML to dotenv - 1258 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 17
  • Position: #60 / 268
  • Number of attempts: 7
Change to ascending order - 450 entries

Change each line of numbers consistently from descending to ascending order.

  • Best score: 17
  • Best player score: 33
  • Position: #32 / 110
  • Number of attempts: 4
Swap columns and transform to CSV format - 387 entries

Turn this spreadsheet output into a CSV file but first swap the columns

  • Best score: 16
  • Best player score: 19
  • Position: #87 / 144
  • Number of attempts: 4
Generate an entry for each month - 351 entries

The input file contains a URI with a month in it. Generate the URIs for all the other months up to a couple of years

  • Best score: 27
  • Best player score: 73
  • Position: #68 / 84
  • Number of attempts: 3
Fix the git merge conflicts - 288 entries

Solve the merge conflicts in the Python file

  • Best score: 36
  • Best player score: 50
  • Position: #24 / 78
  • Number of attempts: 2
Nested JSON Flattener - 115 entries

Transform a deeply nested JSON structure into a flattened key-value format where each path is represented by dot notation

  • Best score: 44
  • Best player score: 85
  • Position: #19 / 28
  • Number of attempts: 2
Sebastian Caicedo
Github:

entered into 9 challenges

contributed 0 challenges