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

Quicksort - 1562 entries

We need the numbers in the first row sorted as quickly as possible! Be careful not to disturb the data below the divider though: that must remain unchanged.

  • Best score: 6
  • Best player score: 7
  • Position: #115 / 345
  • Number of attempts: 3
Populate 3D bone names list - 459 entries

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

  • Best score: 21
  • Best player score: 32
  • Position: #80 / 122
  • Number of attempts: 4
Surround the 'z' character with brackets, quotes, and print as formatted string. - 488 entries

Surround the 'z' character with brackets, quotes, and print as formatted string.

  • Best score: 17
  • Best player score: 17
  • Position: #122 / 273
  • Number of attempts: 1
Substraction (bis) - 579 entries

Solve the equations (adapted from the original @Caek_'s challenge).

  • Best score: 21
  • Best player score: 34
  • Position: #68 / 108
  • Number of attempts: 3
Poorly indented Python comments - 1190 entries

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

  • Best score: 15
  • Best player score: 29
  • Position: #99 / 205
  • Number of attempts: 6
Many duplicates - 1255 entries

Quick and easy

  • Best score: 7
  • Best player score: 12
  • Position: #358 / 414
  • Number of attempts: 1
delete swap - 1534 entries

delete all swap

  • Best score: 5
  • Best player score: 6
  • Position: #346 / 482
  • Number of attempts: 5
Generate a very basic Python constructor (fixed) - 1184 entries

Original by @BiddulphCaleb (http://www.vimgolf.com/challenges/6019f1c4642668000cee11e8) - had some extra spaces in output file.

  • Best score: 29
  • Best player score: 38
  • Position: #92 / 249
  • Number of attempts: 2
Visual block training - 1005 entries

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

  • Best score: 17
  • Best player score: 19
  • Position: #48 / 185
  • Number of attempts: 2
Put a newline after every 10 lines in vim - 1579 entries

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

  • Best score: 10
  • Best player score: 13
  • Position: #254 / 526
  • Number of attempts: 2
Wikitext headings to markdown - 980 entries

Convert the wikitext headings to markdown.

  • Best score: 20
  • Best player score: 30
  • Position: #130 / 203
  • Number of attempts: 2
hello-world-vimgolf - 2362 entries

Simple number generation

  • Best score: 10
  • Best player score: 11
  • Position: #347 / 668
  • Number of attempts: 1
Fill in the chess board - 905 entries

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

  • Best score: 19
  • Best player score: 39
  • Position: #105 / 175
  • Number of attempts: 1
Plotting some variables in python - 1567 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: 60
  • Position: #252 / 334
  • Number of attempts: 2
Migrated to Postgres! - 312 entries

Celebration completion of this project. https://github.com/igrigorik/vimgolf/pull/322

  • Best score: 26
  • Best player score: 35
  • Position: #98 / 122
  • Number of attempts: 1
Inverting Lines - 1837 entries

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

  • Best score: 10
  • Best player score: 16
  • Position: #388 / 498
  • Number of attempts: 1
Generate a very basic Python constructor - 309 entries

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

  • Best score: 38
  • Best player score: 46
  • Position: #38 / 95
  • Number of attempts: 2
Python dataclasses - 1105 entries

Simple challenge to extract fields from a Python class

  • Best score: 19
  • Best player score: 38
  • Position: #244 / 278
  • Number of attempts: 1
Making 3 line function a one liner. - 306 entries

Simple challenge for frequent action while programming.

  • Best score: 4
  • Best player score: 4
  • Position: #36 / 195
  • Number of attempts: 1
Modernise code - 1336 entries

Modernise and clean up some C++ code.

  • Best score: 34
  • Best player score: 59
  • Position: #269 / 309
  • Number of attempts: 1
Put a cross in the square - 203 entries

Put a cross in the square

  • Best score: 20
  • Best player score: 28
  • Position: #81 / 84
  • Number of attempts: 1
HS Final exam vimgolf - 864 entries

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

  • Best score: 21
  • Best player score: 35
  • Position: #165 / 227
  • Number of attempts: 1
C to python code snippet - 81 entries

C code can be easily translated into Python code. However, the difference in syntax can make this process tedious and time-consuming. Can Vim help you here?

  • Best score: 48
  • Best player score: 76
  • Position: #18 / 28
  • Number of attempts: 2
Rural Post - 4368 entries

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

  • Best score: 9
  • Best player score: 13
  • Position: #633 / 1072
  • Number of attempts: 1
Satisfy the go linter - 2329 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: 27
  • Position: #311 / 457
  • Number of attempts: 4
Yo To Hello - 1115 entries

Simply Turn Yo To Hello

  • Best score: 10
  • Best player score: 10
  • Position: #316 / 518
  • Number of attempts: 3
Python Hello World! Reformatting - 938 entries

A novice Python using prints Hello World! and a pro shows him different way. Using vim to get into pro style from novice, win the challenge.

  • Best score: 39
  • Best player score: 47
  • Position: #309 / 364
  • Number of attempts: 1
Free hyphen! - 159 entries

Just like "Inner hyphens", but I'm giving you a free hyphen to play with. Will your solution be any different?

  • Best score: 9
  • Best player score: 11
  • Position: #81 / 85
  • Number of attempts: 2
Alphabet soup - 419 entries

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

  • Best score: 25
  • Best player score: 42
  • Position: #90 / 103
  • Number of attempts: 1

Contributed Challenges

Plotting some variables in python - 1567 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.

A White Dwarf
Twitter:

entered into 29 challenges

contributed 1 challenges