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 - 707 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: #84 / 152
  • Number of attempts: 2
Rural Post - 4598 entries

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

  • Best score: 9
  • Best player score: 10
  • Position: #490 / 1123
  • Number of attempts: 1
Simple, Practical, and Common - 33990 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: #3451 / 7510
  • Number of attempts: 4
prepend * to every non-blank line - 6392 entries

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

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

Just give me the numbers.

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

Simply add a semicolon at the end of each line

  • Best score: 10
  • Best player score: 11
  • Position: #1795 / 3098
  • Number of attempts: 3
remove lines containing the word "reader" - 3649 entries

easy stuff

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

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

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

Create a box around a line.

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

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

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

Oops.

  • Best score: 10
  • Best player score: 15
  • Position: #2411 / 4222
  • 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? - 812 entries

Output FizzBuzz to 100. Start with nothing.

  • Best score: 39
  • Best player score: 69
  • Position: #157 / 208
  • Number of attempts: 5
Get rid of html tags - 463 entries

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

  • Best score: 12
  • Best player score: 17
  • Position: #145 / 261
  • Number of attempts: 1
Change the content of a string - 1784 entries

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 22
  • Position: #241 / 653
  • Number of attempts: 2
Deleting folded text - 428 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: #82 / 130
  • Number of attempts: 8
Sort and add attributes - 1584 entries

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

  • Best score: 33
  • Best player score: 33
  • Position: #297 / 613
  • Number of attempts: 1
Reconstruct the Sentence - 1745 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: #167 / 457
  • Number of attempts: 3
Braces or Brackets? - 1200 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: #293 / 361
  • Number of attempts: 1
Whitespace, empty lines and tabs - 4035 entries

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

  • Best score: 16
  • Best player score: 34
  • Position: #722 / 860
  • Number of attempts: 3
Flodder-challenge - 1500 entries

Replace the text the most efficient and win!

  • Best score: 27
  • Best player score: 37
  • Position: #233 / 378
  • Number of attempts: 3
Simple text editing with Vim - 13606 entries

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

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

entered into 30 challenges

contributed 0 challenges