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]

31054 active golfers, 375709 entries, 520 challenges

Open VimGolf challenges

Fill visual area - 73 entries

Just have fun!

Conway sequence - 22 entries

Generate the the first fifteen numbers. See here for more information:

Logging with key - 282 entries

Sometimes it is better to log with meaningful key

Sorting database text output - 194 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 - 304 entries

Don't forget to fix typos!

Space out the alphabet - 1542 entries

Put 3 spaces between adjacent letters.

Mute the second method of this script - 427 entries

prepend a # infront of every line of the second method

50 factorials mod 97 - 38 entries

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

Sort with uniq OpenEmbedded package names - 33 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-" prevails over "apt". And finally, use sort -u to get unique names!

Winning streak - 105 entries

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

Separating firstname & lastname - 109 entries

Seperate named with equal tabs.

Greek column realign - 42 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 - 169 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 - 46 entries

Convert a C data structure to a Vimscript dictionary.

Happy TvvO - 377 entries

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

range(10) digit rotation - 32 entries

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

increment by column in XML - 143 entries

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

Binary and Increment - 41 entries

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

Refactoring useless Method away - 89 entries

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

Square numbers - 81 entries

Boring math puzzle.

Hail to Alekseï Pajitnov - 30 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 - 51 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! - 136 entries

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

Just the middle - 11074 entries

Delete the instructions at the top and bottom.

Simple Maths - 35 entries

Not much to say, discover by yourself!

Config Sections - 38 entries

Section me!

Pretty format for variable declarations - 129 entries

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

Condensed Cases - 731 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 - 15636 entries


Replace Parameter with Explicit Methods - 61 entries

Implementing the methods of a Java Interface

Basic renumbering - 5393 entries

Renumbering Basic.

Shift down - 189 entries

Number words are back.

learn vim in short time - 212 entries

so happy to learn vim.because vim is awesome

Gray area - 674 entries

It's a golf metaphor or something.

Winding path - 91 entries

It's a maze, but the bad paths have been blocked off. Mark the correct path.

That hyphen - 2464 entries

"vim vi improved"

Refactor static member invocation - 187 entries

Someone used a static method. Refactor the method into a static import while fixing the assertion.

Acute accents - 31 entries

Featuring all 17 lowercase letters with an acute accent digraph. Find a way to automate the digraphs.

Count both ways - 932 entries

Right AND down.

vim1001 - 253 entries

change number 1001 into a "vim1001 sequence". (My first challenge, hope it is not too bad... )

Roman numerals - 58 entries

Use the substitutions on top to convert unary to Roman numerals.

-a-b-c- - 3077 entries

Put hyphens everywhere.

Suffix sort - 195 entries

Sort from the end of the line, as if the letters in each line were reversed.

Comparing scores - 69 entries

If Alice and Bob both did the challenge, put their entries together in the top paragraph, so we can compare their scores more easily.

NBCU Weekly Challenge - #0 - 124 entries

One of our favorites lines here at NBCU! p.s. The first version of #0 was deleted due to me copy/pasting a HTML entity. Congrats to the one who figured that out, you are a true ninja warrior!

Lisp Condense - 414 entries

Reduce 4 cons selection operations down to one function call.

NBCU Weekly Challenge - Test - 227 entries

Just testing.

120 Degrees - 399 entries

Rotate that triangle.

V to the i - 4596 entries

Input is 99 V's. Output is 100 i's.

Subtraction - 155 entries

Solve the equations.

VimGolf Chatter