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

Poorly indented Python comments - 456 entries

Fix the alignment of some Python comments as quickly as possible.

  • Best score: 15
  • Best player score: 15
  • Position: #11 / 83
  • Number of attempts: 9
Many duplicates - 285 entries

Quick and easy

  • Best score: 2
  • Best player score: 8
  • Position: #62 / 104
  • Number of attempts: 2
delete swap - 345 entries

delete all swap

  • Best score: 5
  • Best player score: 5
  • Position: #52 / 122
  • Number of attempts: 2
Visual block training - 441 entries

You see the input. You see the output. Go.

  • Best score: 18
  • Best player score: 52
  • Position: #64 / 91
  • Number of attempts: 2
Put a newline after every 10 lines in vim - 942 entries

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

  • Best score: 10
  • Best player score: 13
  • Position: #237 / 332
  • Number of attempts: 1
hello-world-vimgolf - 1523 entries

Simple number generation

  • Best score: 10
  • Best player score: 10
  • Position: #149 / 436
  • Number of attempts: 3
Fill in the chess board - 543 entries

Fill in the name of each square using its file (a-h) and rank (1-8).

  • Best score: 19
  • Best player score: 48
  • Position: #87 / 113
  • Number of attempts: 3
Learn to ask for :help - 397 entries

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

  • Best score: 19
  • Best player score: 44
  • Position: #76 / 90
  • Number of attempts: 1
Plotting some variables in python - 1172 entries

4 sets of (x,y) variables to plot. Just increment the numbers! Well, let's change the colors of the lines as well. Oh and we meant to plot the absolute values of course.

  • Best score: 34
  • Best player score: 47
  • Position: #122 / 247
  • Number of attempts: 2
Python dataclasses - 650 entries

Simple challenge to extract fields from a Python class

  • Best score: 19
  • Best player score: 29
  • Position: #107 / 169
  • Number of attempts: 2
swap number pairs - 1459 entries

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

  • Best score: 16
  • Best player score: 51
  • Position: #256 / 283
  • Number of attempts: 1
ssh config skills - 209 entries

Parse output from `kuebctl get no -o wide` into an .ssh/config file!

  • Best score: 41
  • Best player score: 62
  • Position: #33 / 50
  • Number of attempts: 1
Python: Def to Lambda - 372 entries

LAMBDA!!!

  • Best score: 19
  • Best player score: 20
  • Position: #85 / 124
  • Number of attempts: 1
Turn the x - 253 entries

Turn the x to a +

  • Best score: 19
  • Best player score: 29
  • Position: #63 / 66
  • Number of attempts: 1
Levenshtein distance - 76 entries

Compute distance for each pair. Notice that this recursive implementation is very inefficient. Wagner-Fischer algorithm is iterative and much faster. #vimscript

  • Best score: 28
  • Best player score: 37
  • Position: #17 / 27
  • Number of attempts: 1
Satisfy the go linter - 2007 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: #297 / 404
  • Number of attempts: 1
Yo To Hello - 1048 entries

Simply Turn Yo To Hello

  • Best score: 10
  • Best player score: 232
  • Position: #481 / 481
  • Number of attempts: 1
Simple, Practical, and Common - 32904 entries

Simple things we do all the time should be able to be done with very few keystrokes, but sometimes I find something I need to do makes me go, "There MUST be a better way." This challenge is just a simple movement and entering text at a certain place.

  • Best score: 22
  • Best player score: 24
  • Position: #3044 / 7270
  • Number of attempts: 6
Hogwarts Email Sorting - 828 entries

Given a list of emails, get the students full name and their associated house.

  • Best score: 20
  • Best player score: 52
  • Position: #231 / 237
  • Number of attempts: 1
Simple Maths - 36 entries

Not much to say, discover by yourself!

  • Best score: 26
  • Best player score: 1000
  • Position: #24 / 24
  • Number of attempts: 1
Switch function arguments - 1982 entries

How to switch two arguments of a function.

  • Best score: 11
  • Best player score: 14
  • Position: #490 / 627
  • Number of attempts: 1
imports alignment (python) - 640 entries

Align as one import per line.

  • Best score: 17
  • Best player score: 45
  • Position: #183 / 191
  • Number of attempts: 1

Contributed Challenges

Visual block training - 441 entries

You see the input. You see the output. Go.

math is what I hate
Twitter:

entered into 22 challenges

contributed 1 challenges