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

Populate 3D bone names list - 633 entries

Ran into this at work, excited to see how this gets optimized

  • Best score: 21
  • Best player score: 28
  • Position: #77 / 163
  • Number of attempts: 4
Paste a column after a column - 2557 entries

This task is very common while using multi-cursor. What is the elegant vim way ?

  • Best score: 14
  • Best player score: 23
  • Position: #365 / 558
  • Number of attempts: 2
HS exam question - 1589 entries

Convert the data to a python dictionary

  • Best score: 47
  • Best player score: 61
  • Position: #133 / 417
  • Number of attempts: 2
Fizzbuzz - 575 entries

type the first 100 lines of the fizzbuzz problem

  • Best score: 44
  • Best player score: 73
  • Position: #73 / 168
  • Number of attempts: 2
delete swap - 1788 entries

delete all swap

  • Best score: 5
  • Best player score: 14
  • Position: #498 / 557
  • Number of attempts: 1
Put a newline after every 10 lines in vim - 1660 entries

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

  • Best score: 10
  • Best player score: 13
  • Position: #396 / 558
  • Number of attempts: 2
hello-world-vimgolf - 2501 entries

Simple number generation

  • Best score: 10
  • Best player score: 10
  • Position: #299 / 709
  • Number of attempts: 4
Generate a very basic Python constructor - 316 entries

I actually needed to do this myself, so I look forward to learning how.

  • Best score: 38
  • Best player score: 60
  • Position: #65 / 98
  • Number of attempts: 4
Python dataclasses - 1192 entries

Simple challenge to extract fields from a Python class

  • Best score: 19
  • Best player score: 27
  • Position: #174 / 295
  • Number of attempts: 3
Multiline to Single Line - 735 entries

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

  • Best score: 5
  • Best player score: 16
  • Position: #307 / 311
  • Number of attempts: 1
Copy three lines - 2875 entries

If the site is up (by some miracle), make the text under every header identical.

  • Best score: 13
  • Best player score: 20
  • Position: #427 / 641
  • Number of attempts: 2
Start coding format - 155 entries

I used to start coding with following format: int main(){ -(cursor here) }

  • Best score: 22
  • Best player score: 27
  • Position: #70 / 72
  • Number of attempts: 3
Order and join - 985 entries

There's something special about the input order.

  • Best score: 10
  • Best player score: 13
  • Position: #192 / 260
  • Number of attempts: 5
Array of characters - 175 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: 89
  • Position: #47 / 47
  • Number of attempts: 1
I forgot quotes - 16038 entries

Oops.

  • Best score: 10
  • Best player score: 17
  • Position: #3090 / 4192
  • Number of attempts: 1
A HAPPY NEW YEAR 2014 ! - 10688 entries

A HAPPY NEW YEAR 2014 !

  • Best score: 11
  • Best player score: 15
  • Position: #3219 / 3691
  • Number of attempts: 1
Letter case trickery - 1630 entries

This file is in a downright esoteric format, consisting of hexadecimal numbers, non-hexadecimal keywords, and "Z" indicating end-of-line. Make the hexadecimal numbers lowercase.

  • Best score: 9
  • Best player score: 12
  • Position: #363 / 518
  • Number of attempts: 1
Python: Lots of function arguments - 119 entries

The function definition is too long for one line. The modeline helps you with some typical Python indent settings.

  • Best score: 6
  • Best player score: 24
  • Position: #44 / 50
  • Number of attempts: 3
Let's play some Ivmgolf - 1122 entries

Oops, I spelled that wrong.

  • Best score: 7
  • Best player score: 7
  • Position: #141 / 446
  • Number of attempts: 5
Vertical Limit - 2552 entries

transform a succession of one word lines to a an array of strings

  • Best score: 21
  • Best player score: 31
  • Position: #682 / 757
  • Number of attempts: 2
Make the circuit grid! - 101 entries

Copy this command for a circuit layout program to create 10 total smd commands. Increment the number in quotes to name each pad, and add 0.7 to each of the (X Y) coordinates at the end of each line.

  • Best score: 26
  • Best player score: 48
  • Position: #45 / 50
  • Number of attempts: 1
replacing each line of a block selection - 3001 entries

replace each line's ../assets/js with /javascripts

  • Best score: 18
  • Best player score: 25
  • Position: #549 / 778
  • Number of attempts: 5
The meaning - 575 entries

Numbers are fun!

  • Best score: 5
  • Best player score: 5
  • Position: #319 / 363
  • Number of attempts: 1
Reverse Simple Deletion - 854 entries

You did the simple deletion, now reverse it.

  • Best score: 11
  • Best player score: 12
  • Position: #373 / 460
  • Number of attempts: 1
小世界
Twitter:

entered into 24 challenges

contributed 0 challenges