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

Change to ascending order - 485 entries

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

  • Best score: 17
  • Best player score: 70
  • Position: #84 / 119
  • Number of attempts: 1
Swap columns and transform to CSV format - 426 entries

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

  • Best score: 16
  • Best player score: 17
  • Position: #15 / 154
  • Number of attempts: 4
Generate an entry for each month - 369 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: 51
  • Position: #56 / 91
  • Number of attempts: 5
Fix the git merge conflicts - 313 entries

Solve the merge conflicts in the Python file

  • Best score: 36
  • Best player score: 68
  • Position: #67 / 88
  • Number of attempts: 1
Replace markdown sections with numbering - 303 entries

Replace each section and subsection with their respective numbers

  • Best score: 29
  • Best player score: 90
  • Position: #55 / 80
  • Number of attempts: 1
Fix the Scala Method - 306 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: 22
  • Position: #15 / 98
  • Number of attempts: 5
Change class fields from camel case to snake case - 568 entries

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

  • Best score: 18
  • Best player score: 31
  • Position: #93 / 132
  • Number of attempts: 1
Change class fields from snake case to camel case - 290 entries

Change the class fields in this Scala class from snake case to camel case

  • Best score: 13
  • Best player score: 21
  • Position: #101 / 108
  • Number of attempts: 2
Reorganize Pokémon - 772 entries

Change the format of the each line and sort alphabetically.

  • Best score: 18
  • Best player score: 21
  • Position: #89 / 214
  • Number of attempts: 6
Replace csv column if it's not empty - 255 entries

Replace the credit_score_percentile column with the value 0.0 but leave the empty ones untouched

  • Best score: 15
  • Best player score: 17
  • Position: #62 / 87
  • Number of attempts: 3
Change readonly files - 99 entries

Try to write a file that was marked as read-only.

  • Best score: 20
  • Best player score: 55
  • Position: #23 / 29
  • Number of attempts: 1
CaN yOuR ViM dO ThAt? #1 - 256 entries

Tsoding's famous "Can your Vim do that?" https://youtu.be/Bafo3hhheHU?si=DfcT4sUEMTSAevnx&t=1091

  • Best score: 41
  • Best player score: 47
  • Position: #66 / 100
  • Number of attempts: 2
Append leading hyphen count to each line - 126 entries

Append the number of leading hyphens to the end of each line.

  • Best score: 23
  • Best player score: 52
  • Position: #32 / 35
  • Number of attempts: 1
Plotting some variables in python - 1683 entries

4 sets of (x,y) variables to plot. Just increment the numbers! Well, let's change the colors of the lines as well. Oh and we meant to plot the absolute values of course.

  • Best score: 34
  • Best player score: 51
  • Position: #217 / 352
  • Number of attempts: 4
Making 3 line function a one liner. - 343 entries

Simple challenge for frequent action while programming.

  • Best score: 4
  • Best player score: 4
  • Position: #41 / 211
  • Number of attempts: 2
Modernise code - 1434 entries

Modernise and clean up some C++ code.

  • Best score: 34
  • Best player score: 68
  • Position: #304 / 331
  • Number of attempts: 2
Simple, Practical, and Common - 33929 entries

Simple things we do all the time should be able to be done with very few keystrokes, but sometimes I find something I need to do makes me go, "There MUST be a better way." This challenge is just a simple movement and entering text at a certain place.

  • Best score: 22
  • Best player score: 27
  • Position: #3985 / 7489
  • Number of attempts: 4
One number per line - 18840 entries

Just give me the numbers.

  • Best score: 14
  • Best player score: 24
  • Position: #3231 / 3893
  • Number of attempts: 3
Swap values inside brackets - 2539 entries

Easy challenge.

  • Best score: 13
  • Best player score: 24
  • Position: #495 / 590
  • Number of attempts: 3
Applying same text modification in several lines - 2920 entries

Remove identical text at the beginning of several lines and the closing parenthesis.

  • Best score: 12
  • Best player score: 25
  • Position: #780 / 864
  • Number of attempts: 1
Wrap the text of an email message to 79 characters - 852 entries

You're replying to an email with silly long lines. Clean them up.

  • Best score: 5
  • Best player score: 5
  • Position: #240 / 441
  • Number of attempts: 1
Search and Replace 0 - 5042 entries

Replace every instance of 'aaa' with 'xaaax'.

  • Best score: 12
  • Best player score: 16
  • Position: #1240 / 1643
  • Number of attempts: 2
Just the middle - 11555 entries

Delete the instructions at the top and bottom.

  • Best score: 7
  • Best player score: 9
  • Position: #3594 / 4234
  • Number of attempts: 4
I forgot quotes - 16127 entries

Oops.

  • Best score: 10
  • Best player score: 21
  • Position: #3768 / 4208
  • Number of attempts: 3
A HAPPY NEW YEAR 2014 ! - 10720 entries

A HAPPY NEW YEAR 2014 !

  • Best score: 11
  • Best player score: 12
  • Position: #2365 / 3703
  • Number of attempts: 3
Words in parens - 13005 entries

We should all ace this, right?

  • Best score: 13
  • Best player score: 18
  • Position: #2988 / 3979
  • Number of attempts: 2
Sort the cardinal numbers - 315 entries

Maybe a simple challenge.

  • Best score: 12
  • Best player score: 12
  • Position: #44 / 149
  • Number of attempts: 3
Case preserving word replacement - 463 entries

Half way through my project, my people turned into dogs. Now I have to change everything in my source.

  • Best score: 19
  • Best player score: 39
  • Position: #179 / 182
  • Number of attempts: 1
A Simple One - 1070 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: #479 / 673
  • Number of attempts: 1
Reverse Simple Deletion - 862 entries

You did the simple deletion, now reverse it.

  • Best score: 11
  • Best player score: 15
  • Position: #429 / 463
  • Number of attempts: 3
Increment, increment, increment.... - 703 entries

Vim likes macros

  • Best score: 10
  • Best player score: 12
  • Position: #354 / 414
  • Number of attempts: 2
Context Insensitive completion 1 - 512 entries

Finish writing this simple Python HTTP server.

  • Best score: 18
  • Best player score: 39
  • Position: #236 / 248
  • Number of attempts: 1
Simple text editing with Vim - 13416 entries

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

  • Best score: 13
  • Best player score: 22
  • Position: #3080 / 3845
  • Number of attempts: 2
editor3D
Twitter:

online editor HTML/CSS/JS editor3d

entered into 33 challenges

contributed 0 challenges