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

Sort and Tag - 708 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: 92
  • Position: #85 / 153
  • Number of attempts: 2
Rural Post - 4596 entries

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

  • Best score: 9
  • Best player score: 10
  • Position: #490 / 1122
  • Number of attempts: 1
Simple, Practical, and Common - 33982 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: 25
  • Position: #3450 / 7508
  • Number of attempts: 4
prepend * to every non-blank line - 6390 entries

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

  • Best score: 10
  • Best player score: 11
  • Position: #767 / 1560
  • Number of attempts: 1
One number per line - 18894 entries

Just give me the numbers.

  • Best score: 14
  • Best player score: 20
  • Position: #2330 / 3901
  • Number of attempts: 4
Add semicolons - 10951 entries

Simply add a semicolon at the end of each line

  • Best score: 10
  • Best player score: 11
  • Position: #1794 / 3096
  • Number of attempts: 3
remove lines containing the word "reader" - 3646 entries

easy stuff

  • Best score: 9
  • Best player score: 10
  • Position: #875 / 1183
  • Number of attempts: 2
Wrap the text of an email message to 79 characters - 864 entries

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

  • Best score: 5
  • Best player score: 5
  • Position: #323 / 449
  • Number of attempts: 2
Box it - 7999 entries

Create a box around a line.

  • Best score: 21
  • Best player score: 24
  • Position: #990 / 1899
  • Number of attempts: 3
Search and Replace 0 - 5124 entries

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

  • Best score: 12
  • Best player score: 12
  • Position: #748 / 1670
  • Number of attempts: 1
I forgot quotes - 16185 entries

Oops.

  • Best score: 10
  • Best player score: 15
  • Position: #2411 / 4221
  • Number of attempts: 2
Insert a Markdown link - 473 entries

Put a link in a markdown document, using the after-the-paragraph format.

  • Best score: 22
  • Best player score: 25
  • Position: #95 / 157
  • Number of attempts: 3
Getters & Setters: Java - 217 entries

Boilerplate getters & setters - it's a tedious fact of life in Java, and probably the only thing that still pulls me back to an IDE. Perhaps someone knows a fast, pure vim way...

  • Best score: 89
  • Best player score: 122
  • Position: #38 / 61
  • Number of attempts: 4
A Simple One - 1079 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: #590 / 677
  • Number of attempts: 1
Table Reshuffle - 468 entries

Fix the column order in this table... also append the new 'username' column.

  • Best score: 22
  • Best player score: 39
  • Position: #109 / 145
  • Number of attempts: 3
Reverse Simple Deletion - 870 entries

You did the simple deletion, now reverse it.

  • Best score: 11
  • Best player score: 12
  • Position: #380 / 465
  • Number of attempts: 3
Increment, increment, increment.... - 705 entries

Vim likes macros

  • Best score: 10
  • Best player score: 10
  • Position: #73 / 415
  • Number of attempts: 1
Indentation - 561 entries

Indent each line according to the right number of spaces it needs.

  • Best score: 20
  • Best player score: 32
  • Position: #141 / 182
  • Number of attempts: 2
Dumb to smart - 107 entries

Turn dumb quote to smart vim's way.

  • Best score: 28
  • Best player score: 37
  • Position: #45 / 58
  • Number of attempts: 1
The Cake is a Lie - 1399 entries

Correct the capitalization of each word

  • Best score: 8
  • Best player score: 9
  • Position: #290 / 541
  • Number of attempts: 3
Remember FizzBuzz? - 802 entries

Output FizzBuzz to 100. Start with nothing.

  • Best score: 39
  • Best player score: 69
  • Position: #156 / 206
  • Number of attempts: 5
Get rid of html tags - 460 entries

Want to read more about Vim's background? Then get rid of those html tags...

  • Best score: 12
  • Best player score: 17
  • Position: #144 / 260
  • Number of attempts: 1
Change the content of a string - 1779 entries

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 22
  • Position: #241 / 651
  • Number of attempts: 2
Deleting folded text - 420 entries

The text below contains three folds. Delete them (and the text inside them). For example: 123 456 /*{{{*/ 789 /*}}}*/ 012 Should become: 123 012 Also, add `aoeuaoeu` to make sure small solutions don't get flagged as cheating.

  • Best score: 17
  • Best player score: 21
  • Position: #81 / 129
  • Number of attempts: 8
Sort and add attributes - 1576 entries

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

  • Best score: 33
  • Best player score: 33
  • Position: #297 / 611
  • Number of attempts: 1
Reconstruct the Sentence - 1733 entries

Get the sentence back in the proper order, remove duplicate lines, and then combine the separate lines into one.

  • Best score: 19
  • Best player score: 20
  • Position: #166 / 455
  • Number of attempts: 3
Braces or Brackets? - 1184 entries

Someone forgot whether to use braces or brackets and you have to clean up their code!

  • Best score: 34
  • Best player score: 53
  • Position: #291 / 358
  • Number of attempts: 1
Whitespace, empty lines and tabs - 4025 entries

Convert tabs to spaces, strip empty lines and trailing whitespace.

  • Best score: 16
  • Best player score: 34
  • Position: #720 / 857
  • Number of attempts: 3
Flodder-challenge - 1490 entries

Replace the text the most efficient and win!

  • Best score: 27
  • Best player score: 37
  • Position: #232 / 377
  • Number of attempts: 3
Simple text editing with Vim - 13576 entries

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

  • Best score: 13
  • Best player score: 20
  • Position: #2975 / 3892
  • Number of attempts: 2
Colin Benner
Github:

entered into 30 challenges

contributed 0 challenges