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

Put a newline after every 10 lines in vim - 859 entries

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

  • Best score: 10
  • Best player score: 11
  • Position: #37 / 303
  • Number of attempts: 5
Wikitext headings to markdown - 559 entries

Convert the wikitext headings to markdown.

  • Best score: 20
  • Best player score: 20
  • Position: #14 / 126
  • Number of attempts: 8
hello-world-vimgolf - 1433 entries

Simple number generation

  • Best score: 10
  • Best player score: 10
  • Position: #112 / 411
  • Number of attempts: 3
Contribute to keyboard mashing - 593 entries

Speak in tongues

  • Best score: 17
  • Best player score: 20
  • Position: #123 / 180
  • Number of attempts: 2
Lowercase first characters - 336 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: #17 / 121
  • Number of attempts: 4
Inverting Lines - 1279 entries

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

  • Best score: 10
  • Best player score: 10
  • Position: #137 / 355
  • Number of attempts: 3
CSV to MD format - 276 entries

To convert a CSV list to Markdown list

  • Best score: 36
  • Best player score: 61
  • Position: #29 / 64
  • Number of attempts: 1
Making 3 line function a one liner. - 146 entries

Simple challenge for frequent action while programming.

  • Best score: 4
  • Best player score: 4
  • Position: #75 / 101
  • Number of attempts: 1
swap number pairs - 1438 entries

Swap the numbers in a bunch of 2-element arrays.

  • Best score: 16
  • Best player score: 27
  • Position: #149 / 278
  • Number of attempts: 2
HS Final exam vimgolf - 649 entries

Change the initial file to a single line containing all names comma-separated with numbers inside parentheses.

  • Best score: 21
  • Best player score: 32
  • Position: #110 / 174
  • Number of attempts: 3
Easy modification of ssh config - 195 entries

Just add another alias to each worker

  • Best score: 24
  • Best player score: 25
  • Position: #24 / 59
  • Number of attempts: 3
Python: Def to Lambda - 359 entries

LAMBDA!!!

  • Best score: 19
  • Best player score: 22
  • Position: #95 / 120
  • Number of attempts: 2
Rural Post - 4091 entries

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

  • Best score: 9
  • Best player score: 13
  • Position: #584 / 1011
  • Number of attempts: 2
Multiline to Single Line - 516 entries

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

  • Best score: 5
  • Best player score: 5
  • Position: #109 / 234
  • Number of attempts: 3
Get mail address from outlook format - 589 entries

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

  • Best score: 15
  • Best player score: 31
  • Position: #172 / 181
  • Number of attempts: 1
prepend * to every non-blank line - 5948 entries

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

  • Best score: 10
  • Best player score: 16
  • Position: #1020 / 1460
  • Number of attempts: 2
Separate the lines - 155 entries

Every other line is mixed up. Separate them into their original texts.

  • Best score: 11
  • Best player score: 11
  • Position: #50 / 84
  • Number of attempts: 6
Add semicolons - 10531 entries

Simply add a semicolon at the end of each line

  • Best score: 10
  • Best player score: 11
  • Position: #1702 / 2987
  • Number of attempts: 3
remove lines containing the word "reader" - 3453 entries

easy stuff

  • Best score: 9
  • Best player score: 10
  • Position: #823 / 1120
  • Number of attempts: 3
Simple addition - 293 entries

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

  • Best score: 12
  • Best player score: 12
  • Position: #51 / 108
  • Number of attempts: 5
Array of characters - 133 entries

We all copy paste things off the internet, but the syntax doesn't look right. Fix it as fast as possible.

  • Best score: 33
  • Best player score: 52
  • Position: #38 / 40
  • Number of attempts: 1
Generate a list of numbers - 275 entries

Please generate list of numbers from 1 to 20.

  • Best score: 14
  • Best player score: 15
  • Position: #108 / 130
  • Number of attempts: 3
Separating firstname & lastname - 112 entries

Seperate named with equal tabs.

  • Best score: 19
  • Best player score: 23
  • Position: #20 / 52
  • Number of attempts: 1
Simple format (2) - 306 entries

try again!

  • Best score: 23
  • Best player score: 38
  • Position: #52 / 64
  • Number of attempts: 2
camel riding - 742 entries

add a prefix on some camelCase variables

  • Best score: 15
  • Best player score: 18
  • Position: #230 / 266
  • Number of attempts: 2
Config Sections - 38 entries

Section me!

  • Best score: 43
  • Best player score: 46
  • Position: #7 / 18
  • Number of attempts: 3
Square numbers - 81 entries

Boring math puzzle.

  • Best score: 16
  • Best player score: 25
  • Position: #18 / 34
  • Number of attempts: 6
It's a factor - 91 entries

Flaunt your macro prowess by factoring some numbers. Too hard? It takes less than 30 strokes, I promise.

  • Best score: 24
  • Best player score: 25
  • Position: #5 / 36
  • Number of attempts: 2
Alphabet soup - 386 entries

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

  • Best score: 25
  • Best player score: 25
  • Position: #10 / 91
  • Number of attempts: 7
Simple text editing with Vim - 11595 entries

Make the pairs of lines match up by making each second line same as first

  • Best score: 13
  • Best player score: 15
  • Position: #1956 / 3404
  • Number of attempts: 1

Contributed Challenges

CSV to MD format - 276 entries

To convert a CSV list to Markdown list

Increment number for every 10 lines - 151 entries

The file consists of 2 columns (code and percentage). We need to add 2 more columns with increasing number for 4th column (Xcols) and increment 3rd column (Ycols) only for every 10 lines with reset of 4th column

Selvaganapathy P
Twitter:

entered into 30 challenges

contributed 2 challenges