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]

38920 active golfers, 465490 entries, 586 challenges

Open VimGolf challenges

Restore order to the alphabet - 201 entries

The numbers are OK. The letters are wonky.

Line 'em up! - 420 entries

It can be so hard to keep everything neatly lined-up. Somebody clearly hasn't bothered here. Tidy it up, please!

swap or reverse - 126 entries

Try to swap or reverse the line as needed.

Tiny column alignment - 61 entries

Align using the four blocks, don't forget to lowercase and have fun!

readability - 324 entries

Make the code readable by adding some spaces

remove all lines in first part - 211 entries

From the second part, remove all lines in the first part. It can be useful when you have done something from a long list, you want to know what is not done yet!

Shuffled numbers - 246 entries

Each number is paired with the number it should follow. That's enough information to put them in order.

camel riding - 793 entries

add a prefix on some camelCase variables

Merge blank lines and properly capitalize - 82 entries

Here you need complete 2 tasks: 1. Remove all unwanted continuous blank lines and leave only 1 blank line between paragraphs. 2. Properly capitalize the sentences.

Remove hard line breaks - 74 entries

Text files with Hard breaks are not good for e-readers. We need remove all hard line breaks and have long lines.

Custom McCarthy sequence - 44 entries

Generate the first one hundred and twenty numbers (starting with n=1). See here for some inspiration: http://en.wikipedia.org/wiki/McCarthy_91_function

Fix the XML - 1035 entries

The challenge consists in having a valid xml from an incomplete source.

Rail fence transposition cipher - 84 entries

Solve a rail fence transposition cipher using vim. This ciphertext was created using two rails. Use vim to transpose the text and recover the original quote.

Interleave lines - 185 entries

This is some kind of « paste -d'\n' c b a ». There are many ways to achieve this.. just find the shortest!

Land of the Lost - 81 entries

Enter the tabs below the lyrics

Not enough Ps - 67 entries

Different type of code

Fill visual area - 91 entries

Just have fun!

Conway sequence - 26 entries

Generate the the first fifteen numbers. See here for more information: http://en.wikipedia.org/wiki/Look-and-say_sequence

Logging with key - 328 entries

Sometimes it is better to log with meaningful key

Sorting database text output - 223 entries

Sometimes it is nice to be able to quickly take column-formatted text output from the SQL command line and turn it into a list of useful data. In this case we want a unique, sorted list of the values from the second column combined into one comma-separated list. What is the fewest strokes you can do this in?

ASCII box - 347 entries

Don't forget to fix typos!

Space out the alphabet - 1657 entries

Put 3 spaces between adjacent letters.

Mute the second method of this script - 455 entries

prepend a # infront of every line of the second method

50 factorials mod 97 - 58 entries

List 1! to 50!, but give your answer mod 97.

Sort with uniq OpenEmbedded package names - 45 entries

For each line take 4th dirname of path. For example: "alsa-utils", "gawk-3.1.5", ... But! But if previous result is "files", take 3rd dirname instead. For example: "mktemp", "mklibs" ... If version is present in package name (dash is the separator character), take it. For example: "apt-0.9.9.4" prevails over "apt". And finally, use sort -u to get unique names!

Winning streak - 135 entries

Make the number on each line equal the consecutive L's or W's.

Separating firstname & lastname - 138 entries

Seperate named with equal tabs.

Greek column realign - 51 entries

Oops one letter is missing! Shift down the second column to insert nu letter. Symbol can be entered using: <C-K>n*

Wget failed to download redirections - 202 entries

Output of a wget session, where 302 where not properly handled due to certificate problems, has been saved to a file. Keep the correct URLs to start again downloading.

C to VimDict - 53 entries

Convert a C data structure to a Vimscript dictionary.

Happy TvvO - 426 entries

Don’t forget the past, learn from it. Happy New Year.

range(10) digit rotation - 38 entries

This is a data generator challenge or some kind of gift..

increment by column in XML - 152 entries

modify an arbitrary "column" in an xml table by incrementing a an arbitrary placeholder string

Binary and Increment - 55 entries

Some numbers fun: not only increasing numbers but also increasing binary.

Refactoring useless Method away - 116 entries

Real-life challenge, convert a bunch of ifs to a switch statement

Square numbers - 123 entries

Boring math puzzle.

Hail to Alekseï Pajitnov - 37 entries

Wanna play tetris? Don't panic, it's quite long but there's no piece rotation. Little advice: source the file, Luke!

JSON string rotation - 60 entries

Right value strings are misplaced. Just rotate them! I'm too kind with you guys and didn't included "strings with \" in it"!

Test everything! - 186 entries

... and build the desired input data structure. Transform a list of values into a non-trivial format.

Just the middle - 11417 entries

Delete the instructions at the top and bottom.

Simple Maths - 57 entries

Not much to say, discover by yourself!

Config Sections - 53 entries

Section me!

Pretty format for variable declarations - 170 entries

Project standards demand the equal signs must be aligned for better readability.

Condensed Cases - 800 entries

Apple's new programming language, Swift, allows two style of case statements: 1) one Enum case on each line, or 2) multiple Enum cases on a single line. Convert the following from the first case (no pun intended) to the second type.

I forgot quotes - 15954 entries

Oops.

Replace Parameter with Explicit Methods - 76 entries

Implementing the methods of a Java Interface

Basic renumbering - 5643 entries

Renumbering Basic.

Shift down - 209 entries

Number words are back.

learn vim in short time - 240 entries

so happy to learn vim.because vim is awesome

Gray area - 747 entries

It's a golf metaphor or something.

VimGolf Chatter