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

Tabbed Table to Python Array - 644 entries

Not payed by the hour? So make it fast ;-) The table contains the relative occurencies of bigrams (two consecutive letters) in 1/100,000 in the german language, copy-pasted from http://www.mathe.tu-freiberg.de/~hebisch/cafe/kryptographie/bigramme.html

  • Best score: 50
  • Best player score: 57
  • Position: #58 / 167
  • Number of attempts: 7
HS exam question - 1510 entries

Convert the data to a python dictionary

  • Best score: 47
  • Best player score: 86
  • Position: #277 / 397
  • Number of attempts: 4
Reformat symbols in list - 1474 entries

Saw this in some lecture, easy reformatting using multiple cursor in VS Code

  • Best score: 24
  • Best player score: 29
  • Position: #165 / 325
  • Number of attempts: 6
Substraction (bis) - 579 entries

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

  • Best score: 21
  • Best player score: 70
  • Position: #89 / 108
  • Number of attempts: 2
Changing around text with citations - 323 entries

Based off of something I saw on reddit

  • Best score: 28
  • Best player score: 51
  • Position: #79 / 89
  • Number of attempts: 2
2 quick changes and a numbered list - 599 entries

The ascii will not be lost, but rather numbered in 4 digit blocks with leading zeros.

  • Best score: 37
  • Best player score: 61
  • Position: #107 / 145
  • Number of attempts: 2
delete swap - 1551 entries

delete all swap

  • Best score: 5
  • Best player score: 5
  • Position: #158 / 486
  • Number of attempts: 5
Generate a very basic Python constructor (fixed) - 1189 entries

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

  • Best score: 29
  • Best player score: 29
  • Position: #41 / 250
  • Number of attempts: 12
Fix the shell script! - 2369 entries

Fix the shell script with the fewest keystrokes!

  • Best score: 26
  • Best player score: 30
  • Position: #223 / 546
  • Number of attempts: 5
Put a newline after every 10 lines in vim - 1585 entries

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

  • Best score: 10
  • Best player score: 13
  • Position: #366 / 529
  • Number of attempts: 1
Java to JavaScript - 257 entries

Let convert some simple Java file to JavaScript!

  • Best score: 59
  • Best player score: 73
  • Position: #27 / 67
  • Number of attempts: 9
Wikitext headings to markdown - 981 entries

Convert the wikitext headings to markdown.

  • Best score: 20
  • Best player score: 20
  • Position: #31 / 204
  • Number of attempts: 5
hello-world-vimgolf - 2381 entries

Simple number generation

  • Best score: 10
  • Best player score: 11
  • Position: #387 / 676
  • Number of attempts: 2
Fill in the chess board - 915 entries

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

  • Best score: 19
  • Best player score: 33
  • Position: #78 / 176
  • Number of attempts: 6
Learn to ask for :help - 544 entries

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

  • Best score: 19
  • Best player score: 23
  • Position: #29 / 124
  • Number of attempts: 7
Transpose a python matrix - 847 entries

Rotate the matrix in 90 degrees.

  • Best score: 23
  • Best player score: 24
  • Position: #33 / 135
  • Number of attempts: 12
Create a diamond comment - 314 entries

Encapsulate the text in a diamond pattern.

  • Best score: 27
  • Best player score: 30
  • Position: #34 / 72
  • Number of attempts: 18
Lowercase first characters - 471 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: 33
  • Position: #29 / 176
  • Number of attempts: 5
Make list of numbers from 1 to 30 more compact, but more confusing - 90 entries

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

  • Best score: 74
  • Best player score: 100
  • Position: #13 / 36
  • Number of attempts: 1
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

  • Best score: 162
  • Best player score: 196
  • Position: #6 / 16
  • Number of attempts: 3
Migrated to Postgres! - 316 entries

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

  • Best score: 26
  • Best player score: 27
  • Position: #30 / 123
  • Number of attempts: 4
quotes inside quotes - 3125 entries

taken from tip 85 of the very good book 'Practical Vim: Edit Text at the Speed of Thought' ! I'd be interested what people use :)

  • Best score: 14
  • Best player score: 14
  • Position: #357 / 1072
  • Number of attempts: 5
Top X - 191 entries

The End File is the Top 10 Vimgolf Leaderboard at June 29, 2013. This is a second version, with a great contribution of @udioica. X is ten in Roman,a numeric system in ancient Rome

  • Best score: 18
  • Best player score: 30
  • Position: #46 / 69
  • Number of attempts: 2
fib.c cleanup - 66 entries

cleanup the file

  • Best score: 15
  • Best player score: 16
  • Position: #47 / 54
  • Number of attempts: 4
Circle in a square - 140 entries

Probably looks more like "Egg in a rectangle" in most fonts, but it's actually 23x23.

  • Best score: 23
  • Best player score: 51
  • Position: #34 / 52
  • Number of attempts: 7
replacing each line of a block selection - 2947 entries

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

  • Best score: 18
  • Best player score: 19
  • Position: #222 / 768
  • Number of attempts: 7
Letters are numbers - 150 entries

Letters and numbers are interchangeable. A lot of programming languages give you simple ways to convert individual letters to hex, binary and decimal but does Vim?

  • Best score: 20
  • Best player score: 32
  • Position: #66 / 73
  • Number of attempts: 3
Dumb to smart - 96 entries

Turn dumb quote to smart vim's way.

  • Best score: 28
  • Best player score: 28
  • Position: #9 / 54
  • Number of attempts: 6
Change the content of a string - 1489 entries

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 22
  • Position: #206 / 560
  • Number of attempts: 5
Add fold markers to a .c file - 565 entries

Fold markers can make it easier to navigate source code. Add them to this .c file.

  • Best score: 30
  • Best player score: 34
  • Position: #83 / 173
  • Number of attempts: 5
Braces or Brackets? - 885 entries

Someone forgot whether to use braces or brackets and you have to clean up their code!

  • Best score: 34
  • Best player score: 47
  • Position: #174 / 289
  • Number of attempts: 3
Whitespace, empty lines and tabs - 3352 entries

Convert tabs to spaces, strip empty lines and trailing whitespace.

  • Best score: 16
  • Best player score: 17
  • Position: #146 / 738
  • Number of attempts: 6
Flodder-challenge - 1118 entries

Replace the text the most efficient and win!

  • Best score: 27
  • Best player score: 30
  • Position: #81 / 311
  • Number of attempts: 4
Simple text editing with Vim - 12301 entries

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

  • Best score: 13
  • Best player score: 14
  • Position: #1910 / 3584
  • Number of attempts: 3
Reformat/Refactor a Golfer Class - 6601 entries

A simple case of removing unneeded code and fixing broken indentation.

  • Best score: 32
  • Best player score: 38
  • Position: #648 / 1621
  • Number of attempts: 6
vuems
Twitter:

entered into 35 challenges

contributed 0 challenges