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]

32814 active golfers, 395815 entries, 535 challenges

Open VimGolf challenges

Bad Copy Syntax - 1926 entries

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

change parenthesis - 251 entries

change the pair of braces into a pair of parentheses

Hash staircase - 39 entries

Can you use a strategy to come up with this pattern?

Remove quotes after first field - 319 entries

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

If-then-else regexp - 37 entries

Rules: - golf is never following golf - vim comes first! Drawing a finite-state machine diagram could help. #regexp

Tables, Functions, Sprocs - 113 entries

In order to load some scripts into my database in the correct order I need to load tables first (t_), then functions (fn_), then stored procedures (sp_). The order of the t_ lines and the order of the sp_ lines should also match. Reorder the lines so they will load correctly.

Simple Maths 2 - 26 entries

Time to practice expression register! #maths #linear

Rule 110 - 33 entries

Compute the next 5 iterations of Rule 110 with the given starting state.

Join 'em - 228 entries

This shouldn't be too tough

Around the clock - 174 entries

You'll want to use 2 special commands to complete this. If you haven't yet, read through 'input.txt', especially :help simple-changes

Reorder the groups - 1109 entries

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

Add semicolons - 10527 entries

Simply add a semicolon at the end of each line

html paragraph to table - 583 entries

reformat html paragraph to table

ninja substitution - 1288 entries

How can you reuse a previous substitution ?

[Real World] PHP To Markdown - 25 entries

Fun refactoring I had to do in the real world. This presents several challenges: - How to create a table that fits the informations exactly - How to keep track of two informations per line while doing the refactoring - Generate the link from the actual text Have fun!

Resort and deup a CSV list - 135 entries

I'm always adding items to a sorted list. There has to be a better way dedup and resort the lists. There are multiple lists with varying lengths to discourage manual sorting. Also Australia's animals are weird.

Pascal's Triangle - 28 entries

Generate the first 17 left-justified rows of Pascal's triangle.

Triangular Numbers - 82 entries

Generate the first 50 triangular numbers.

Kolakoski sequence -- level 2 - 10 entries

This time, the line above describes the line below. Level 1 at:

Convert Application Output to CSV - 178 entries

Change the application output to comma-separated values

Two pairs of cluster of letters creates word - 710 entries

Clean and group.

Kolakoski sequence -- level 1 - 57 entries

Generate the Kolakoski sequence as described by its first 75 terms.

Cool or not? - 761 entries

abc trying to be cool or not...

Letterbox - 88 entries

Make a box!

The D a n k Side of the Moon - 40 entries

You're making a vaporwave cover of The Dark Side of the Moon. So for the tracklisting, you want to: 1. Change the track names to v a p o r c a s e 2. Double the track lengths (since you're slowing them down). Well... let's just double the minutes.

Box it - 7678 entries

Create a box around a line.

Flip the bit - 108 entries

Change the specific 0 to a 1.

snowflake fractal - 39 entries

From step 0 to step 3 of a fractal

Increment each number - 946 entries

Increment each number individually by one

Build a six - 267 entries

Just enjoy building "a" floors...

move titles next to url, in quotes - 487 entries

had trouble with something similar

One to Ten - 2091 entries

Generate the sequence of numbers from 1 to 10, one number per line. Inspired by this Reddit thread:

Delete to the end of the current line - 711 entries

Delete to the end of the current line, but keep the character under the cursor.

Put the months in order - 915 entries

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

remove lines containing the word "reader" - 3450 entries

easy stuff

Python challenge - 140 entries

Change the types of the variables in the list from str to float, while keeping the truncation.

Change part of a function name in multiple occurrences - 598 entries

Change the middle part of the function name in multiple places, preferably using the next and dot commands.

Santa's naughty / nice list - 77 entries

Christmas is here and Santa hasn't decided who's naughty or nice yet. He's given a list of names to his programmer friend to quickly split the children into naughty and nice. Hint: There's a hidden pattern that might be familiar.

My cafe needs a new menu - 22 entries

Help! My cafe needs a new menu and I've only got this plain-text file from the kitchen. In order to get it printed, I need to transform it into a markdown file with; headings for each type of item, prices on each menu item, dietary options and a key down the bottom.

unknown command - 143 entries

I want change 5 words

simple format (3) - 45 entries

reverse two column values!

Simple format (2) - 306 entries

try again!

Applying same text modification in several lines - 2741 entries

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

Preferably without multi-cursor plugin - 476 entries

Originally asked as question on reddit by kpthunder:

Com(m)a Trouble - 3369 entries

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

Array Transposition - 168 entries

Transpose four arrays into two.

On Being Stylish - 61 entries

Your PR cannot be accepted if you don't follow our corporate style guide.

convert yml into java pojo field - 807 entries

How fast vim can create fields for java pojo i.e class declaration referring to a (simple) yml file

Swap values inside brackets - 2423 entries

Easy challenge.

Swap the operands under comparison - 253 entries

Swap the operands under comparison to prevent null pointer exception (at least in java)

VimGolf Chatter