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

From brakets to parens - 1290 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: 25
  • Position: #13 / 290
  • Number of attempts: 10
Create json from a .env file - 1682 entries

A simple everyday task.

  • Best score: 38
  • Best player score: 39
  • Position: #21 / 411
  • Number of attempts: 12
Reordering properties - 1368 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: 24
  • Position: #9 / 296
  • Number of attempts: 15
Sort and Tag - 731 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: 36
  • Position: #16 / 154
  • Number of attempts: 28
YAML to dotenv - 1617 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 29
  • Position: #215 / 339
  • Number of attempts: 2
Swap columns and transform to CSV format - 487 entries

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

  • Best score: 16
  • Best player score: 18
  • Position: #86 / 175
  • Number of attempts: 2
Change class fields from snake case to camel case - 322 entries

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

  • Best score: 13
  • Best player score: 13
  • Position: #45 / 121
  • Number of attempts: 3
Replace csv column if it's not empty - 310 entries

Replace the credit_score_percentile column with the value 0.0 but leave the empty ones untouched

  • Best score: 15
  • Best player score: 15
  • Position: #32 / 100
  • Number of attempts: 3
Move list of uuids into a SQL query - 245 entries

Take the list of UUIDs and use them as a filter in the where statement of a SQL query

  • Best score: 57
  • Best player score: 67
  • Position: #41 / 82
  • Number of attempts: 3
Copy punctuation - 739 entries

I want to copy the last line’s brackets, quotes, and commas to each line. How?

  • Best score: 19
  • Best player score: 30
  • Position: #61 / 181
  • Number of attempts: 3
Format a long line - 129 entries

Reformat long lines (gq), textwidth=78, no trailing spaces.

  • Best score: 17
  • Best player score: 18
  • Position: #14 / 37
  • Number of attempts: 8
New teacher - 1519 entries

Update the details of the new CS teacher.

  • Best score: 19
  • Best player score: 30
  • Position: #238 / 319
  • Number of attempts: 2
Gigo
Github:

entered into 12 challenges

contributed 0 challenges