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

Filling braces - 123 entries

Inspired by a question on CoDidact (https://software.codidact.com/posts/296501), I wondered if Vim could offer a satisfactory ‘solution’ to this problem.

  • Best score: 24
  • Best player score: 29
  • Position: #22 / 43
  • Number of attempts: 3
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: 25
  • Position: #112 / 235
  • Number of attempts: 9
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: 180
  • Position: #139 / 156
  • Number of attempts: 1
Changing date formats - 751 entries

Change the date format to Y/M/D.

  • Best score: 36
  • Best player score: 99
  • Position: #140 / 211
  • Number of attempts: 2
YAML to dotenv - 1637 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 32
  • Position: #248 / 342
  • Number of attempts: 3
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: 20
  • Position: #119 / 176
  • Number of attempts: 1
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: 363
  • Position: #99 / 100
  • Number of attempts: 1
Fix the Scala Method - 375 entries

Fix the missing semicolons and the Int type, ensure the floating point division, and remove the unnecessary return.

  • Best score: 2
  • Best player score: 31
  • Position: #102 / 124
  • Number of attempts: 1
Markdown Blog Editing - 485 entries

Convert the given link text in start file to a markdown link list.

  • Best score: 30
  • Best player score: 65
  • Position: #92 / 117
  • Number of attempts: 5
Word completion - 310 entries

Try to complete these options within 20 keystrokes.

  • Best score: 20
  • Best player score: 128
  • Position: #66 / 84
  • Number of attempts: 1
Remove adjacent duplicates - 727 entries

Try to find a way to remove adjacent duplicate letters.

  • Best score: 19
  • Best player score: 48
  • Position: #164 / 182
  • Number of attempts: 1
Copy punctuation - 747 entries

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

  • Best score: 19
  • Best player score: 48
  • Position: #135 / 183
  • Number of attempts: 4
Deleting text - 350 entries

Delete everything except some specific numbers.

  • Best score: 26
  • Best player score: 49
  • Position: #90 / 113
  • Number of attempts: 5
Get mail address from outlook format - 663 entries

Create a mail list space separated of mail list formatted by outlook

  • Best score: 15
  • Best player score: 20
  • Position: #159 / 208
  • Number of attempts: 3
prepend * to every non-blank line - 6397 entries

Prepend an asterisk to every non-blank line in the input file.

  • Best score: 10
  • Best player score: 18
  • Position: #1209 / 1563
  • Number of attempts: 2
Quote modules - 1104 entries

Complete golang import statement.

  • Best score: 21
  • Best player score: 29
  • Position: #216 / 291
  • Number of attempts: 2
Convert Application Output to CSV - 233 entries

Change the application output to comma-separated values

  • Best score: 17
  • Best player score: 48
  • Position: #60 / 61
  • Number of attempts: 5
Python Hello World! Reformatting - 1052 entries

A novice Python using prints Hello World! and a pro shows him different way. Using vim to get into pro style from novice, win the challenge.

  • Best score: 39
  • Best player score: 46
  • Position: #326 / 400
  • Number of attempts: 1
Basic renumbering - 5737 entries

Renumbering Basic.

  • Best score: 11
  • Best player score: 19
  • Position: #793 / 1281
  • Number of attempts: 3
Create Leading Zeros - 277 entries

Create leading zeros only for id columns. Please use generic approach!

  • Best score: 23
  • Best player score: 71
  • Position: #83 / 89
  • Number of attempts: 2
Space out the alphabet - 1696 entries

Put 3 spaces between adjacent letters.

  • Best score: 15
  • Best player score: 28
  • Position: #428 / 458
  • Number of attempts: 1
Mute the second method of this script - 465 entries

prepend a # infront of every line of the second method

  • Best score: 8
  • Best player score: 10
  • Position: #228 / 246
  • Number of attempts: 1
Don't know what this is - 2070 entries

Replace contents of brackets with matching number of spaces. Don't ask what the format's supposed to be.

  • Best score: 11
  • Best player score: 14
  • Position: #390 / 596
  • Number of attempts: 1
Where should I put the Newline? - 912 entries

Help me put the newline.

  • Best score: 7
  • Best player score: 8
  • Position: #424 / 451
  • Number of attempts: 3
Vim tetris - 390 entries

Vim can play tetris too!

  • Best score: 21
  • Best player score: 43
  • Position: #97 / 108
  • Number of attempts: 2
Mess in revision history - 1238 entries

Help Joe clean up what Steve has cobbled.

  • Best score: 17
  • Best player score: 70
  • Position: #256 / 260
  • Number of attempts: 2
A HAPPY NEW YEAR 2014 ! - 10758 entries

A HAPPY NEW YEAR 2014 !

  • Best score: 11
  • Best player score: 14
  • Position: #2886 / 3717
  • Number of attempts: 2
imports alignment (python) - 725 entries

Align as one import per line.

  • Best score: 17
  • Best player score: 24
  • Position: #128 / 203
  • Number of attempts: 4
Shebangs for all - 2103 entries

We've all seen or used a shebang once or twice. Ditch the specific paths and leave just a dynamic Ruby and Python bath behind.

  • Best score: 11
  • Best player score: 18
  • Position: #395 / 533
  • Number of attempts: 2
A Simple One - 1093 entries

Here is a very simple one - just to illustrate/introduce a vim feature that some people seem to miss...

  • Best score: 9
  • Best player score: 9
  • Position: #603 / 681
  • Number of attempts: 3
Reverse Simple Deletion - 874 entries

You did the simple deletion, now reverse it.

  • Best score: 11
  • Best player score: 12
  • Position: #382 / 466
  • Number of attempts: 3
Increment, increment, increment.... - 709 entries

Vim likes macros

  • Best score: 10
  • Best player score: 12
  • Position: #373 / 417
  • Number of attempts: 3
The Cake is a Lie - 1418 entries

Correct the capitalization of each word

  • Best score: 8
  • Best player score: 15
  • Position: #521 / 543
  • Number of attempts: 2
Reformat some Python - 659 entries

Fix some very bizarrely laid-out code.

  • Best score: 34
  • Best player score: 47
  • Position: #175 / 248
  • Number of attempts: 5
Sort and add attributes - 1598 entries

Sort the states and add the attribute country to each record.

  • Best score: 33
  • Best player score: 33
  • Position: #322 / 617
  • Number of attempts: 4
yunglatkes
Github:

entered into 35 challenges

contributed 0 challenges