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

Contribute to keyboard mashing - 880 entries

Speak in tongues

  • Best score: 17
  • Best player score: 19
  • Position: #116 / 268
  • Number of attempts: 1
Learn to ask for :help - 572 entries

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

  • Best score: 19
  • Best player score: 23
  • Position: #25 / 128
  • Number of attempts: 4
Transpose a python matrix - 848 entries

Rotate the matrix in 90 degrees.

  • Best score: 23
  • Best player score: 35
  • Position: #56 / 135
  • Number of attempts: 5
Create a diamond comment - 336 entries

Encapsulate the text in a diamond pattern.

  • Best score: 27
  • Best player score: 30
  • Position: #31 / 74
  • Number of attempts: 3
Lowercase first characters - 484 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: 35
  • Position: #57 / 181
  • Number of attempts: 2
simple replacements - 1710 entries

The goal is to see the replacement commands in action.

  • Best score: 19
  • Best player score: 19
  • Position: #11 / 378
  • Number of attempts: 7
Inverting Lines - 1870 entries

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

  • Best score: 10
  • Best player score: 10
  • Position: #58 / 505
  • Number of attempts: 7
Count to 100 in word form - 121 entries

Write all the numbers from 1 to 100, using their word forms rather than the digit form. Most of the parts you will need are included in the input file. Use hyphens when appropriate.

  • Best score: 53
  • Best player score: 97
  • Position: #25 / 28
  • Number of attempts: 3
Making 3 line function a one liner. - 312 entries

Simple challenge for frequent action while programming.

  • Best score: 4
  • Best player score: 4
  • Position: #19 / 200
  • Number of attempts: 1
vimtutor, but you can cheat - 22 entries

It's time to revisit vimtutor, but as an experienced Vim user! Your goal is to change the file to appear as if you had gone through the tutorial, but you do NOT need to actually complete the tutorial as written or do anything that doesn't result in changes to the file. You may use whatever you have in your Vim toolbelt that's allowed under VimGolf rules. The whole tutorial is too large to submit, so only the relevant lesson headers and associated practice lines are presented in this challenge. You will have to reference the tutor for the original instructions if you need them: https://raw.githubusercontent.com/vim/vim/4466ad6baa22485abb1147aca3340cced4778a66/runtime/tutor/tutor

  • Best score: 7
  • Best player score: 200
  • Position: #9 / 11
  • Number of attempts: 2
Put a cross in the square - 210 entries

Put a cross in the square

  • Best score: 20
  • Best player score: 23
  • Position: #50 / 87
  • Number of attempts: 1
HS Final exam vimgolf - 892 entries

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

  • Best score: 21
  • Best player score: 33
  • Position: #158 / 234
  • Number of attempts: 2
Python: Def to Lambda - 441 entries

LAMBDA!!!

  • Best score: 19
  • Best player score: 19
  • Position: #34 / 154
  • Number of attempts: 2
Turn the x - 317 entries

Turn the x to a +

  • Best score: 19
  • Best player score: 20
  • Position: #31 / 80
  • Number of attempts: 5
Satisfy the go linter - 2360 entries

You just came up with this briliant go vars package. But dang, you forgot to add comments to the exported variables. Can you add a comment over each variable with a TODO-placeholder?

  • Best score: 20
  • Best player score: 28
  • Position: #338 / 465
  • Number of attempts: 3
Yo To Hello - 1127 entries

Simply Turn Yo To Hello

  • Best score: 10
  • Best player score: 36
  • Position: #521 / 522
  • Number of attempts: 2
Add text at some column - 162 entries

Complete golang struct statement.

  • Best score: 31
  • Best player score: 47
  • Position: #63 / 63
  • Number of attempts: 2
add line and index - 100 entries

a missed line and index names need to be added

  • Best score: 44
  • Best player score: 56
  • Position: #21 / 29
  • Number of attempts: 1
Cool or not? - 802 entries

abc trying to be cool or not...

  • Best score: 15
  • Best player score: 23
  • Position: #196 / 228
  • Number of attempts: 2
Preferably without multi-cursor plugin - 539 entries

Originally asked as question on reddit by kpthunder: https://www.reddit.com/r/vim/comments/9fvsro/what_is_the_most_efficient_way_to_go_about/

  • Best score: 30
  • Best player score: 33
  • Position: #55 / 128
  • Number of attempts: 6
Join 'em - 251 entries

This shouldn't be too tough

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

change the pair of braces into a pair of parentheses

  • Best score: 9
  • Best player score: 9
  • Position: #80 / 160
  • Number of attempts: 2
move titles next to url, in quotes - 510 entries

had trouble with something similar

  • Best score: 19
  • Best player score: 23
  • Position: #104 / 137
  • Number of attempts: 2
unknown command - 166 entries

I want change 5 words

  • Best score: 7
  • Best player score: 7
  • Position: #57 / 86
  • Number of attempts: 2
Not enough Ps - 67 entries

Different type of code

  • Best score: 13
  • Best player score: 13
  • Position: #25 / 36
  • Number of attempts: 2
Fill visual area - 83 entries

Just have fun!

  • Best score: 20
  • Best player score: 62
  • Position: #31 / 37
  • Number of attempts: 1
vim1001 - 284 entries

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

  • Best score: 17
  • Best player score: 23
  • Position: #71 / 108
  • Number of attempts: 6
Piphilology - 143 entries

Piphilology comprises the creation and use of mnemonic techniques to remember a span of digits of the mathematical constant π. http://en.wikipedia.org/wiki/Piphilology

  • Best score: 28
  • Best player score: 38
  • Position: #43 / 52
  • Number of attempts: 1
Recursive Cowsay - 59 entries

Convert 'cowsay' statement to recursive output

  • Best score: 33
  • Best player score: 71
  • Position: #15 / 18
  • Number of attempts: 2
Draw the Go board - 141 entries

which is a 19×19 lines board. Here we use ascii characters only for simplicity. See diff file to get a sense. (See also http://en.wikipedia.org/wiki/Go_(game))

  • Best score: 50
  • Best player score: 75
  • Position: #38 / 49
  • Number of attempts: 2
calculations - 297 entries

Complete these (weird) calculations.

  • Best score: 38
  • Best player score: 68
  • Position: #63 / 67
  • Number of attempts: 1
Exchanging Quotes - 824 entries

Sometimes you need to exchange a choice of quotes in some code.

  • Best score: 30
  • Best player score: 34
  • Position: #86 / 227
  • Number of attempts: 2
Rotating Philosophers Problem - 392 entries

Can you help the philosophers find a good place to sit before they get five forks and spaghetti?

  • Best score: 29
  • Best player score: 30
  • Position: #83 / 165
  • Number of attempts: 1
Insert a Markdown link - 434 entries

Put a link in a markdown document, using the after-the-paragraph format.

  • Best score: 22
  • Best player score: 24
  • Position: #65 / 145
  • Number of attempts: 6

Contributed Challenges

Contribute to keyboard mashing - 880 entries

Speak in tongues

Make list of numbers from 1 to 30 more compact, but more confusing - 96 entries

Change the naming logic of numbers to end up with less lines.

Write Hello World in the 'i use arch btw' -programming language - 31 entries

> "I use Arch btw" is an esoteric programming language based on Brainfuck in which the Brainfuck commands have been replaced with the following keywords: i, use, arch, linux, btw, by, the, way. https://github.com/OverMighty/i-use-arch-btw

Solve anagram with ASCII letters - 42 entries

ASCII created by TOIlet command

Tuure
Twitter:

entered into 34 challenges

contributed 4 challenges