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

HS exam question - 1589 entries

Convert the data to a python dictionary

  • Best score: 47
  • Best player score: 70
  • Position: #200 / 417
  • Number of attempts: 3
Fix the shell script! - 2544 entries

Fix the shell script with the fewest keystrokes!

  • Best score: 26
  • Best player score: 47
  • Position: #462 / 589
  • Number of attempts: 1
Put a newline after every 10 lines in vim - 1658 entries

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

  • Best score: 10
  • Best player score: 15
  • Position: #459 / 557
  • Number of attempts: 2
Inverting Lines - 1900 entries

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

  • Best score: 10
  • Best player score: 19
  • Position: #456 / 511
  • Number of attempts: 2
Modernise code - 1400 entries

Modernise and clean up some C++ code.

  • Best score: 34
  • Best player score: 56
  • Position: #267 / 323
  • Number of attempts: 2
Extend shell script - 134 entries

Just add some more stuff

  • Best score: 37
  • Best player score: 99
  • Position: #42 / 45
  • Number of attempts: 1
Easy modification of ssh config - 371 entries

Just add another alias to each worker

  • Best score: 24
  • Best player score: 43
  • Position: #85 / 112
  • Number of attempts: 3
ssh config skills - 258 entries

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

  • Best score: 41
  • Best player score: 96
  • Position: #57 / 66
  • Number of attempts: 3
Simple, Practical, and Common - 33621 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: 31
  • Position: #5712 / 7422
  • Number of attempts: 3
Hogwarts Email Sorting - 928 entries

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

  • Best score: 20
  • Best player score: 34
  • Position: #240 / 262
  • Number of attempts: 2
One number per line - 18732 entries

Just give me the numbers.

  • Best score: 14
  • Best player score: 20
  • Position: #2308 / 3865
  • Number of attempts: 1
Applying same text modification in several lines - 2880 entries

Remove identical text at the beginning of several lines and the closing parenthesis.

  • Best score: 12
  • Best player score: 20
  • Position: #717 / 851
  • Number of attempts: 1
Extract wireshark capture filter - 216 entries

Extract wireshark capture filter from IP plan

  • Best score: 25
  • Best player score: 49
  • Position: #69 / 72
  • Number of attempts: 2
Every other line - 2910 entries

AaAaAaA

  • Best score: 12
  • Best player score: 22
  • Position: #653 / 703
  • Number of attempts: 3
Fix the XML - 1039 entries

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

  • Best score: 18
  • Best player score: 43
  • Position: #281 / 290
  • Number of attempts: 1
abcd > a b c d - 291 entries

transform the single spaces into 4 spaces repeat for each line

  • Best score: 15
  • Best player score: 15
  • Position: #193 / 222
  • Number of attempts: 3
citizen_hacks_2019_challenge1 - 51 entries

For the Citizen Hacks 2019 Vim competition

  • Best score: 5
  • Best player score: 5
  • Position: #31 / 45
  • Number of attempts: 1
Simple text editing with Vim - 12815 entries

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

  • Best score: 13
  • Best player score: 17
  • Position: #2538 / 3696
  • Number of attempts: 3
Никита Семёнов
Twitter:

entered into 18 challenges

contributed 0 challenges