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

Even and Odd - 254 entries

separate the even numbers from the odd numbers

  • Best score: 13
  • Best player score: 14
  • Position: #18 / 55
  • Number of attempts: 3
Modifying .XCompose - 68 entries

You just wrote some lines in .XCompose, but now you want the compose sequences to be more verbose. Change the compose sequence for each Greek letter to its name.

  • Best score: 33
  • Best player score: 35
  • Position: #9 / 17
  • Number of attempts: 6
hexagram binary tree - 101 entries

generate the binary tree that represents all possible hexagrams found in the book of changes (易经)

  • Best score: 24
  • Best player score: 30
  • Position: #10 / 24
  • Number of attempts: 13
Swap function parameters and delete all comments in python. - 956 entries

Swap function parameters and delete all comments in python.

  • Best score: 19
  • Best player score: 19
  • Position: #33 / 235
  • Number of attempts: 9
Delete the last function argument in python. - 649 entries

Delete the last function argument in this python script.

  • Best score: 6
  • Best player score: 6
  • Position: #108 / 233
  • Number of attempts: 2
Flip All Bits - 401 entries

Perform a bitwise NOT operation on each bit, meaning that bits that are 0 become 1, and those that are 1 become 0.

  • Best score: 26
  • Best player score: 42
  • Position: #62 / 123
  • Number of attempts: 4
Find the devices that have no revoked time, and extract out the duration left on their leases. - 212 entries

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

  • Best score: 50
  • Best player score: 59
  • Position: #14 / 53
  • Number of attempts: 8
Convert list of enums to list of localization terms - 228 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: #14 / 69
  • Number of attempts: 15
From brakets to parens - 1306 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: #75 / 295
  • Number of attempts: 5
π - 327 entries

1200 π chars

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

A simple everyday task.

  • Best score: 38
  • Best player score: 44
  • Position: #91 / 416
  • Number of attempts: 7
Reordering properties - 1372 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: #78 / 298
  • Number of attempts: 8
Sort and Tag - 737 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: #74 / 156
  • Number of attempts: 3
Changing date formats - 751 entries

Change the date format to Y/M/D.

  • Best score: 36
  • Best player score: 78
  • Position: #101 / 211
  • Number of attempts: 11
YAML to dotenv - 1637 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 22
  • Position: #149 / 342
  • Number of attempts: 7
Change to ascending order - 548 entries

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

  • Best score: 17
  • Best player score: 44
  • Position: #61 / 134
  • Number of attempts: 2
Swap columns and transform to CSV format - 491 entries

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

  • Best score: 16
  • Best player score: 17
  • Position: #80 / 176
  • Number of attempts: 4
Generate an entry for each month - 395 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: 59
  • Position: #67 / 100
  • Number of attempts: 1
Replace markdown sections with numbering - 323 entries

Replace each section and subsection with their respective numbers

  • Best score: 29
  • Best player score: 49
  • Position: #26 / 90
  • Number of attempts: 5
Change class fields from camel case to snake case - 669 entries

This is the reverse of the previous challenge: https://www.vimgolf.com/challenges/9v006705493c000000000513

  • Best score: 18
  • Best player score: 18
  • Position: #48 / 154
  • Number of attempts: 6
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: #42 / 100
  • Number of attempts: 8
Convert plain text into a markdown table - 104 entries

Convert the table to markdown to make it more usable

  • Best score: 56
  • Best player score: 132
  • Position: #23 / 34
  • Number of attempts: 3
CaN yOuR ViM dO ThAt? #2 - 115 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: #15 / 29
  • Number of attempts: 9
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: 19
  • Position: #79 / 307
  • Number of attempts: 17
New teacher - 1527 entries

Update the details of the new CS teacher.

  • Best score: 19
  • Best player score: 21
  • Position: #67 / 319
  • Number of attempts: 7
EDN reformat - 1222 entries

The goal is to make the code more readable and concise while maintaining its functionality.

  • Best score: 17
  • Best player score: 41
  • Position: #145 / 173
  • Number of attempts: 8
MartinDanesh
Github:

entered into 26 challenges

contributed 0 challenges