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 - 32 entries

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

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

There is one special character per line

  • Best score: 30
  • Best player score: 51
  • Position: #29 / 42
  • Number of attempts: 3
New teacher - 1364 entries

Update the details of the new CS teacher.

  • Best score: 19
  • Best player score: 24
  • Position: #101 / 285
  • Number of attempts: 6
months to html list items - 1088 entries

Turn the months into list items.

  • Best score: 22
  • Best player score: 28
  • Position: #187 / 295
  • Number of attempts: 2
Remove line numbers - 745 entries

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

  • Best score: 9
  • Best player score: 12
  • Position: #65 / 199
  • Number of attempts: 15
Surround the 'z' character with brackets, quotes, and print as formatted string. - 567 entries

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

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

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

  • Best score: 10
  • Best player score: 11
  • Position: #205 / 559
  • Number of attempts: 3
hello-world-vimgolf - 2505 entries

Simple number generation

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

Speak in tongues

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

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

  • Best score: 19
  • Best player score: 35
  • Position: #93 / 130
  • Number of attempts: 5
Lowercase first characters - 490 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 / 184
  • Number of attempts: 8
simple replacements - 1814 entries

The goal is to see the replacement commands in action.

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

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

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

Turn the x to a +

  • Best score: 19
  • Best player score: 19
  • Position: #20 / 82
  • Number of attempts: 10
Format the CSS - 158 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 / 49
  • Number of attempts: 13
Rural Post - 4563 entries

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

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

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

  • Best score: 5
  • Best player score: 5
  • Position: #253 / 312
  • Number of attempts: 4
Capitalize the Names - 412 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: #61 / 98
  • Number of attempts: 6
Yo To Hello - 1151 entries

Simply Turn Yo To Hello

  • Best score: 8
  • Best player score: 10
  • Position: #400 / 533
  • Number of attempts: 3
Get mail address from outlook format - 649 entries

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

  • Best score: 15
  • Best player score: 15
  • Position: #83 / 204
  • Number of attempts: 10
prepend * to every non-blank line - 6358 entries

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

  • Best score: 10
  • Best player score: 10
  • Position: #445 / 1551
  • Number of attempts: 7
Aliases for cd - 881 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: #97 / 156
  • Number of attempts: 9
Swap values inside brackets - 2515 entries

Easy challenge.

  • Best score: 13
  • Best player score: 21
  • Position: #444 / 584
  • Number of attempts: 1
SCREAMING_SNAKE_CASE to Title Case - 1231 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 / 254
  • Number of attempts: 13
Add semicolons - 10891 entries

Simply add a semicolon at the end of each line

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

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

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

easy stuff

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

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

  • Best score: 12
  • Best player score: 23
  • Position: #693 / 882
  • Number of attempts: 1
Convert Application Output to CSV - 203 entries

Change the application output to comma-separated values

  • Best score: 17
  • Best player score: 31
  • Position: #54 / 56
  • Number of attempts: 4
Flip the bit - 132 entries

Change the specific 0 to a 1.

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

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

  • Best score: 14
  • Best player score: 14
  • Position: #20 / 60
  • Number of attempts: 2
Todo list specification - 401 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 / 180
  • Number of attempts: 3
Text to HTML Table - 183 entries

Turn the plain text table to an HTML table.

  • Best score: 52
  • Best player score: 68
  • Position: #48 / 54
  • Number of attempts: 1
For all cases. - 168 entries

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

  • Best score: 8
  • Best player score: 8
  • Position: #90 / 108
  • Number of attempts: 3
Missing Library and a Typo - 920 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: #194 / 219
  • Number of attempts: 2
Simple addition - 332 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: #117 / 124
  • Number of attempts: 1
ninja substitution - 1420 entries

How can you reuse a previous substitution ?

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

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

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

Increment each number individually by one

  • Best score: 15
  • Best player score: 26
  • Position: #218 / 252
  • Number of attempts: 5
Join 'em - 251 entries

This shouldn't be too tough

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

change the pair of braces into a pair of parentheses

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

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

  • Best score: 16
  • Best player score: 24
  • Position: #66 / 91
  • Number of attempts: 5
Put the months in order - 978 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: #89 / 164
  • Number of attempts: 9
Reorder the groups - 1182 entries

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

  • Best score: 14
  • Best player score: 23
  • Position: #211 / 265
  • Number of attempts: 3
unknown command - 168 entries

I want change 5 words

  • Best score: 7
  • Best player score: 7
  • Position: #70 / 88
  • Number of attempts: 3
Changing URL path in CSS - 139 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: #38 / 63
  • Number of attempts: 6
NATO phonetic alphabet - 538 entries

Transform the series of words into a list.

  • Best score: 19
  • Best player score: 31
  • Position: #185 / 197
  • Number of attempts: 1
Create a pandoc compatible table - 214 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: #49 / 56
  • Number of attempts: 2
SFD-ROC: The Quick Brown Fox - 200 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 / 107
  • Number of attempts: 4
The name of the game - 678 entries

End up with the name of the game.

  • Best score: 11
  • Best player score: 11
  • Position: #282 / 363
  • Number of attempts: 2
Cleanining up 80 column concatenated text - 206 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: #34 / 80
  • Number of attempts: 5
Alphabet soup - 434 entries

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

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

Complete these (weird) calculations.

  • Best score: 38
  • Best player score: 38
  • Position: #19 / 68
  • Number of attempts: 10
Aligning function arguments to match a specific coding style - 259 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: #60 / 72
  • Number of attempts: 2
replacing each line of a block selection - 3005 entries

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

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

Some lines need the semicolon, some don't.

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

Reverse the order of the given lines and double space everything

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

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

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

Convert escape sequences to characters

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

Numbers are fun!

  • Best score: 5
  • Best player score: 5
  • Position: #323 / 363
  • Number of attempts: 2
A Simple One - 1064 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 / 670
  • Number of attempts: 3
Increment, increment, increment.... - 701 entries

Vim likes macros

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

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

  • Best score: 15
  • Best player score: 27
  • Position: #115 / 189
  • Number of attempts: 3
The Cake is a Lie - 1374 entries

Correct the capitalization of each word

  • Best score: 9
  • Best player score: 9
  • Position: #281 / 534
  • Number of attempts: 3
Paul McDowell
Github:

entered into 64 challenges

contributed 0 challenges