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 - 1363 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: 132
  • Position: #266 / 296
  • Number of attempts: 1
YAML to dotenv - 1616 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 50
  • Position: #302 / 338
  • Number of attempts: 7
Generate an entry for each month - 387 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: 331
  • Position: #96 / 97
  • Number of attempts: 1
Replace markdown sections with numbering - 321 entries

Replace each section and subsection with their respective numbers

  • Best score: 29
  • Best player score: 123
  • Position: #82 / 89
  • Number of attempts: 1
Remove adjacent duplicates - 726 entries

Try to find a way to remove adjacent duplicate letters.

  • Best score: 19
  • Best player score: 62
  • Position: #170 / 181
  • Number of attempts: 2
Rearrange array to single level - 1829 entries

The goal is to flatten the array into a single list and remove any empty elements.

  • Best score: 14
  • Best player score: 104
  • Position: #295 / 307
  • Number of attempts: 1
Paste a column after a column - 2668 entries

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

  • Best score: 14
  • Best player score: 83
  • Position: #557 / 578
  • Number of attempts: 1
Python dataclasses - 1253 entries

Simple challenge to extract fields from a Python class

  • Best score: 19
  • Best player score: 56
  • Position: #299 / 313
  • Number of attempts: 1
Hello ${world} - 350 entries

Migrate a JavaScript String from concatenation to ES6 interpolation.

  • Best score: 24
  • Best player score: 68
  • Position: #95 / 104
  • Number of attempts: 1
Change the content of a string - 1799 entries

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 34
  • Position: #628 / 655
  • Number of attempts: 5
Simple text editing with Vim - 13626 entries

Make the pairs of lines match up by making each second line same as first

  • Best score: 13
  • Best player score: 27
  • Position: #3443 / 3902
  • Number of attempts: 2
Mustafa
Github:

entered into 11 challenges

contributed 0 challenges