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

Find the devices that have no revoked time, and extract out the duration left on their leases. - 122 entries

Extract non-revoked devices and the duration of their leases.

  • Best score: 50
  • Best player score: 59
  • Position: #9 / 36
  • Number of attempts: 8
Convert list of enums to list of localization terms - 151 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: 75
  • Best player score: 97
  • Position: #9 / 46
  • Number of attempts: 15
From brakets to parens - 1134 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: 26
  • Position: #68 / 249
  • Number of attempts: 5
π - 298 entries

1200 π chars

  • Best score: 16
  • Best player score: 16
  • Position: #16 / 71
  • Number of attempts: 9
Create json from a .env file - 1581 entries

A simple everyday task.

  • Best score: 39
  • Best player score: 44
  • Position: #84 / 375
  • Number of attempts: 7
Reordering properties - 1220 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: 48
  • Position: #70 / 279
  • Number of attempts: 8
Sort and Tag - 685 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: 84
  • Position: #70 / 145
  • Number of attempts: 3
YAML to dotenv - 1542 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 22
  • Position: #140 / 316
  • Number of attempts: 7
Change to ascending order - 500 entries

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

  • Best score: 17
  • Best player score: 44
  • Position: #56 / 125
  • Number of attempts: 2
Replace markdown sections with numbering - 309 entries

Replace each section and subsection with their respective numbers

  • Best score: 29
  • Best player score: 49
  • Position: #26 / 85
  • Number of attempts: 5
Replace csv column if it's not empty - 270 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: #42 / 92
  • Number of attempts: 8
Convert plain text into a markdown table - 96 entries

Convert the table to markdown to make it more usable

  • Best score: 56
  • Best player score: 132
  • Position: #23 / 30
  • Number of attempts: 3
CaN yOuR ViM dO ThAt? #2 - 99 entries

Tsoding's famous "Can your Vim do that?" https://www.youtube.com/watch?v=F4xc4jQO7ck&t=1429s

  • Best score: 49
  • Best player score: 69
  • Position: #13 / 25
  • Number of attempts: 9
Rearrange array to single level - 1791 entries

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

  • Best score: 14
  • Best player score: 19
  • Position: #77 / 299
  • Number of attempts: 17
MartinDanesh
Github:

entered into 14 challenges

contributed 0 challenges