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

String decompression - 47 entries

3a4b2c => aaabbbbcc. Start a new line when you exceed 79 columns.

  • Best score: 27
  • Best player score: 27
  • Position: #5 / 16
  • Number of attempts: 2
Find anomalies - 172 entries

There is one special character per line

  • Best score: 30
  • Best player score: 51
  • Position: #30 / 47
  • Number of attempts: 3
New teacher - 1527 entries

Update the details of the new CS teacher.

  • Best score: 19
  • Best player score: 24
  • Position: #112 / 319
  • Number of attempts: 6
months to html list items - 1151 entries

Turn the months into list items.

  • Best score: 22
  • Best player score: 28
  • Position: #197 / 311
  • Number of attempts: 2
Remove line numbers - 786 entries

From http://web.archive.org/web/20140831121704/http://dirac.org/linux/gdb/02a-Memory_Layout_And_The_Stack.php#investigatingthestackwithgdb.

  • Best score: 8
  • Best player score: 12
  • Position: #66 / 209
  • Number of attempts: 15
Surround the 'z' character with brackets, quotes, and print as formatted string. - 583 entries

Surround the 'z' character with brackets, quotes, and print as formatted string.

  • Best score: 17
  • Best player score: 17
  • Position: #208 / 329
  • Number of attempts: 2
Put a newline after every 10 lines in vim - 1688 entries

Goal is to put a newline after every 10 lines in vim.

  • Best score: 10
  • Best player score: 11
  • Position: #207 / 567
  • Number of attempts: 3
hello-world-vimgolf - 2533 entries

Simple number generation

  • Best score: 10
  • Best player score: 10
  • Position: #327 / 726
  • Number of attempts: 4
Contribute to keyboard mashing - 913 entries

Speak in tongues

  • Best score: 17
  • Best player score: 17
  • Position: #54 / 277
  • Number of attempts: 5
Learn to ask for :help - 596 entries

Learn to use the help to reduce your strokes...

  • Best score: 19
  • Best player score: 35
  • Position: #94 / 132
  • Number of attempts: 5
Lowercase first characters - 509 entries

This is the (abridged) input for Day 3 in Advent of Code 2019. The output is a format more suitable for Prolog programming: the two lines of input become two lists of pairs, joined together in a wires functor.

  • Best score: 33
  • Best player score: 33
  • Position: #36 / 188
  • Number of attempts: 8
simple replacements - 1885 entries

The goal is to see the replacement commands in action.

  • Best score: 19
  • Best player score: 19
  • Position: #93 / 403
  • Number of attempts: 9
Inverting Lines - 1961 entries

A simple challenge to invert all lines, except the first.

  • Best score: 10
  • Best player score: 10
  • Position: #229 / 526
  • Number of attempts: 7
Turn the x - 356 entries

Turn the x to a +

  • Best score: 19
  • Best player score: 19
  • Position: #20 / 86
  • Number of attempts: 10
Format the CSS - 185 entries

You just copied some CSS color names from the web and need to add them to your python module. Create the COLORS variable and assign a dict() with the names as keys and hex-colors as values. BEWARE OF THE TABS!!

  • Best score: 41
  • Best player score: 41
  • Position: #6 / 52
  • Number of attempts: 13
Rural Post - 4602 entries

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

  • Best score: 9
  • Best player score: 9
  • Position: #203 / 1124
  • Number of attempts: 7
Multiline to Single Line - 754 entries

Convert a multiline, indented file to a single line with no whitespace

  • Best score: 5
  • Best player score: 5
  • Position: #253 / 322
  • Number of attempts: 4
Capitalize the Names - 435 entries

I want to capitalize the names in quotes, but just the people's names, not the file names.

  • Best score: 21
  • Best player score: 26
  • Position: #63 / 102
  • Number of attempts: 6
Yo To Hello - 1156 entries

Simply Turn Yo To Hello

  • Best score: 8
  • Best player score: 10
  • Position: #400 / 537
  • Number of attempts: 3
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: 15
  • Position: #83 / 208
  • Number of attempts: 10
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: 10
  • Position: #445 / 1563
  • Number of attempts: 7
Aliases for cd - 913 entries

Create these beautiful aliases with as few strokes as possible. Are you up for the challenge?

  • Best score: 30
  • Best player score: 48
  • Position: #99 / 160
  • Number of attempts: 9
Swap values inside brackets - 2551 entries

Easy challenge.

  • Best score: 13
  • Best player score: 21
  • Position: #452 / 594
  • Number of attempts: 1
SCREAMING_SNAKE_CASE to Title Case - 1273 entries

Convert strings in SCREAMING_SNAKE_CASE to Title Case. Examples: EMPLOYEE_NAME -> Employee Name REVENUE_YEAR_TO_DATE -> Revenue Year To Date SALARY -> Salary

  • Best score: 19
  • Best player score: 19
  • Position: #63 / 266
  • Number of attempts: 13
Add semicolons - 10956 entries

Simply add a semicolon at the end of each line

  • Best score: 10
  • Best player score: 10
  • Position: #764 / 3098
  • Number of attempts: 3
Bad Copy Syntax - 2088 entries

Copy should be from right to left, but sometimes you type it wrong.

  • Best score: 18
  • Best player score: 18
  • Position: #36 / 543
  • Number of attempts: 4
remove lines containing the word "reader" - 3652 entries

easy stuff

  • Best score: 9
  • Best player score: 9
  • Position: #502 / 1185
  • Number of attempts: 3
Com(m)a Trouble - 3993 entries

Someone was real stupid when placing his commas. Can you fix it?

  • Best score: 12
  • Best player score: 23
  • Position: #714 / 910
  • Number of attempts: 1
Convert Application Output to CSV - 233 entries

Change the application output to comma-separated values

  • Best score: 17
  • Best player score: 31
  • Position: #57 / 61
  • Number of attempts: 4
Flip the bit - 144 entries

Change the specific 0 to a 1.

  • Best score: 8
  • Best player score: 8
  • Position: #38 / 81
  • Number of attempts: 3
Un"finnish"ed Work - 131 entries

Replace å by a, ä by a and ö by o.

  • Best score: 14
  • Best player score: 14
  • Position: #20 / 65
  • Number of attempts: 2
Todo list specification - 420 entries

The every item on the todo list must be done today. Modify the list to reflect that.

  • Best score: 37
  • Best player score: 37
  • Position: #98 / 187
  • Number of attempts: 3
Text to HTML Table - 198 entries

Turn the plain text table to an HTML table.

  • Best score: 52
  • Best player score: 68
  • Position: #51 / 57
  • Number of attempts: 1
For all cases. - 180 entries

In this case... change it! :) Watch the line.

  • Best score: 8
  • Best player score: 8
  • Position: #90 / 111
  • Number of attempts: 3
Missing Library and a Typo - 954 entries

I forgot to add a c library, please add it for me. Also I'm bad at typing so fix my typo too.

  • Best score: 14
  • Best player score: 23
  • Position: #198 / 223
  • Number of attempts: 2
Simple addition - 351 entries

The right side of the equation is already there. We just need the left one now.

  • Best score: 12
  • Best player score: 16
  • Position: #121 / 128
  • Number of attempts: 1
ninja substitution - 1439 entries

How can you reuse a previous substitution ?

  • Best score: 14
  • Best player score: 14
  • Position: #85 / 271
  • Number of attempts: 6
Line under headers - 2095 entries

Put a line under each header, and remove the other markdown formatting.

  • Best score: 24
  • Best player score: 24
  • Position: #19 / 515
  • Number of attempts: 12
Increment each number - 1067 entries

Increment each number individually by one

  • Best score: 15
  • Best player score: 26
  • Position: #222 / 260
  • Number of attempts: 5
Join 'em - 258 entries

This shouldn't be too tough

  • Best score: 4
  • Best player score: 4
  • Position: #25 / 157
  • Number of attempts: 1
change parenthesis - 311 entries

change the pair of braces into a pair of parentheses

  • Best score: 9
  • Best player score: 9
  • Position: #94 / 165
  • Number of attempts: 3
Remove quotes after first field - 411 entries

Remove the quotes around each field except for the first field.

  • Best score: 16
  • Best player score: 24
  • Position: #68 / 96
  • Number of attempts: 5
Put the months in order - 1001 entries

Our contractor thought that months should be in alphabetical order. Put them in calendar order please.

  • Best score: 20
  • Best player score: 41
  • Position: #90 / 168
  • Number of attempts: 9
Reorder the groups - 1201 entries

Change the order so that the groups of fruit come before the vegetables.

  • Best score: 14
  • Best player score: 23
  • Position: #215 / 270
  • Number of attempts: 3
unknown command - 176 entries

I want change 5 words

  • Best score: 7
  • Best player score: 7
  • Position: #70 / 92
  • Number of attempts: 3
Changing URL path in CSS - 157 entries

What's the quickest way to swap out all the URLs in a CSS file? Is it wasted keystrokes using look-behinds and look-aheads? (I'm sorry for the delete/report--I made a mistake with the last one requiring an ugly search for graphic to replace with images. I just intended this to be a simple search and replace that might possibly generate some macros or normals solutions that are quicker)

  • Best score: 40
  • Best player score: 45
  • Position: #40 / 66
  • Number of attempts: 6
NATO phonetic alphabet - 547 entries

Transform the series of words into a list.

  • Best score: 19
  • Best player score: 31
  • Position: #187 / 199
  • Number of attempts: 1
Create a pandoc compatible table - 241 entries

In [this vimcast][1], a featured gist from Tim Pope shows how to quickly make a simple table structure. How fast can you convert it to pandoc's markdown style? [1]: http://vimcasts.org/episodes/aligning-text-with-tabular-vim/

  • Best score: 32
  • Best player score: 65
  • Position: #50 / 58
  • Number of attempts: 2
SFD-ROC: The Quick Brown Fox - 212 entries

Someone has vandalized our text (again). Please fix to read: The Quick Brown Fox Jumps Over The Lazy Dog.

  • Best score: 24
  • Best player score: 24
  • Position: #3 / 110
  • Number of attempts: 4
The name of the game - 696 entries

End up with the name of the game.

  • Best score: 11
  • Best player score: 11
  • Position: #282 / 369
  • Number of attempts: 2
Cleanining up 80 column concatenated text - 229 entries

1. Put the whole query on one line, remove the concatenation operators 2. Remove the double spaces that appear a few times in the query 3. Use string-interpolated variable statementPid rather than the ugly concatenation

  • Best score: 31
  • Best player score: 38
  • Position: #35 / 82
  • Number of attempts: 5
Alphabet soup - 467 entries

Create a column of all alphabet characters organized in a funky way

  • Best score: 25
  • Best player score: 25
  • Position: #19 / 113
  • Number of attempts: 4
calculations - 343 entries

Complete these (weird) calculations.

  • Best score: 38
  • Best player score: 38
  • Position: #19 / 72
  • Number of attempts: 10
Aligning function arguments to match a specific coding style - 279 entries

Most projects have specific coding style guidelines. In this case, the argument list must be broken into a new line for each argument, with the argument names right aligned, taking into account pointers.

  • Best score: 16
  • Best player score: 24
  • Position: #63 / 75
  • Number of attempts: 2
replacing each line of a block selection - 3068 entries

replace each line's ../assets/js with /javascripts

  • Best score: 18
  • Best player score: 18
  • Position: #130 / 789
  • Number of attempts: 9
Append semicolon after expressions - 1087 entries

Some lines need the semicolon, some don't.

  • Best score: 11
  • Best player score: 11
  • Position: #143 / 426
  • Number of attempts: 2
Reverse and double space - 511 entries

Reverse the order of the given lines and double space everything

  • Best score: 14
  • Best player score: 14
  • Position: #70 / 202
  • Number of attempts: 6
Remove semicolons after expressions - 686 entries

A follow-up for http://vimgolf.com/challenges/4fc9d767d3a0d4000100000e.

  • Best score: 6
  • Best player score: 6
  • Position: #136 / 270
  • Number of attempts: 4
un-C-escape string - 63 entries

Convert escape sequences to characters

  • Best score: 12
  • Best player score: 12
  • Position: #49 / 55
  • Number of attempts: 1
The meaning - 588 entries

Numbers are fun!

  • Best score: 5
  • Best player score: 5
  • Position: #323 / 368
  • 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: #573 / 681
  • Number of attempts: 3
Increment, increment, increment.... - 709 entries

Vim likes macros

  • Best score: 10
  • Best player score: 10
  • Position: #70 / 417
  • Number of attempts: 2
Hatsuyume - 582 entries

http://en.wikipedia.org/wiki/Hatsuyume

  • Best score: 15
  • Best player score: 27
  • Position: #118 / 194
  • Number of attempts: 3
The Cake is a Lie - 1418 entries

Correct the capitalization of each word

  • Best score: 8
  • Best player score: 9
  • Position: #282 / 543
  • Number of attempts: 3
Paul McDowell
Github:

entered into 64 challenges

contributed 0 challenges