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

Create json from a .env file - 998 entries

A simple everyday task.

  • Best score: 39
  • Best player score: 59
  • Position: #112 / 230
  • Number of attempts: 1
Reordering properties - 880 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: 55
  • Position: #62 / 209
  • Number of attempts: 1
Sort and Tag - 532 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: 124
  • Position: #77 / 103
  • Number of attempts: 1
Changing date formats - 509 entries

Change the date format to Y/M/D.

  • Best score: 37
  • Best player score: 108
  • Position: #114 / 151
  • Number of attempts: 2
YAML to dotenv - 1073 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 28
  • Position: #144 / 236
  • Number of attempts: 2
Change to ascending order - 403 entries

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

  • Best score: 17
  • Best player score: 109
  • Position: #80 / 100
  • Number of attempts: 2
Swap columns and transform to CSV format - 340 entries

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

  • Best score: 16
  • Best player score: 25
  • Position: #106 / 124
  • Number of attempts: 2
Remove adjacent duplicates - 595 entries

Try to find a way to remove adjacent duplicate letters.

  • Best score: 19
  • Best player score: 24
  • Position: #72 / 155
  • Number of attempts: 3
Move to corresponding lines - 268 entries

Move the values to the corresponding lines.

  • Best score: 16
  • Best player score: 44
  • Position: #59 / 63
  • Number of attempts: 1
Copy punctuation - 606 entries

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

  • Best score: 19
  • Best player score: 59
  • Position: #127 / 152
  • Number of attempts: 1
months to html list items - 1098 entries

Turn the months into list items.

  • Best score: 22
  • Best player score: 32
  • Position: #241 / 299
  • Number of attempts: 1
Quicksort - 2049 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: #278 / 454
  • Number of attempts: 3
Find fix point of cos - 1432 entries

Write a function to find the fix point of cos. It is not a good code; It is just to use vim. Inspired by the excellent https://mvanier.livejournal.com/2897.html about the Y combinator.

  • Best score: 14
  • Best player score: 15
  • Position: #216 / 424
  • Number of attempts: 2
Surround the 'z' character with brackets, quotes, and print as formatted string. - 571 entries

Surround the 'z' character with brackets, quotes, and print as formatted string.

  • Best score: 17
  • Best player score: 17
  • Position: #194 / 320
  • Number of attempts: 1
Paste a column after a column - 2618 entries

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

  • Best score: 14
  • Best player score: 25
  • Position: #406 / 567
  • Number of attempts: 1
Wikitext headings to markdown - 1003 entries

Convert the wikitext headings to markdown.

  • Best score: 20
  • Best player score: 66
  • Position: #188 / 210
  • Number of attempts: 2
Rural Post - 4567 entries

Simple challenge to remove all but the post code on each line

  • Best score: 9
  • Best player score: 10
  • Position: #492 / 1114
  • Number of attempts: 5
Number Sort - 319 entries

sort the list of newline-separated numbers incrementally. Numbers are in the range 1 to 1000, with 500 missing

  • Best score: 9
  • Best player score: 9
  • Position: #142 / 170
  • Number of attempts: 1
Andrey Rakhubovsky
Twitter:

Quantum Information Enjoyer Optomechanics Fan Researcher at @UPOlomouc

entered into 18 challenges

contributed 0 challenges