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 - 90 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: 52
  • Best player score: 57
  • Position: #8 / 31
  • Number of attempts: 7
HS exam question - 790 entries

Convert the data to a python dictionary

  • Best score: 47
  • Best player score: 86
  • Position: #141 / 204
  • Number of attempts: 4
Reformat symbols in list - 662 entries

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

  • Best score: 24
  • Best player score: 29
  • Position: #78 / 150
  • Number of attempts: 6
Substraction (bis) - 300 entries

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

  • Best score: 22
  • Best player score: 70
  • Position: #56 / 67
  • Number of attempts: 2
Changing around text with citations - 162 entries

Based off of something I saw on reddit

  • Best score: 28
  • Best player score: 51
  • Position: #45 / 47
  • Number of attempts: 2
2 quick changes and a numbered list - 359 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: #68 / 88
  • Number of attempts: 2
delete swap - 740 entries

delete all swap

  • Best score: 5
  • Best player score: 5
  • Position: #158 / 253
  • Number of attempts: 5
Generate a very basic Python constructor (fixed) - 832 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 / 183
  • Number of attempts: 12
Fix the shell script! - 1402 entries

Fix the shell script with the fewest keystrokes!

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

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

  • Best score: 10
  • Best player score: 13
  • Position: #292 / 401
  • Number of attempts: 1
Java to JavaScript - 207 entries

Let convert some simple Java file to JavaScript!

  • Best score: 59
  • Best player score: 73
  • Position: #22 / 52
  • Number of attempts: 9
Wikitext headings to markdown - 709 entries

Convert the wikitext headings to markdown.

  • Best score: 20
  • Best player score: 20
  • Position: #32 / 157
  • Number of attempts: 5
hello-world-vimgolf - 1762 entries

Simple number generation

  • Best score: 10
  • Best player score: 11
  • Position: #298 / 507
  • Number of attempts: 2
Fill in the chess board - 665 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: #61 / 140
  • Number of attempts: 6
Learn to ask for :help - 447 entries

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

  • Best score: 19
  • Best player score: 23
  • Position: #26 / 102
  • Number of attempts: 7
Transpose a python matrix - 629 entries

Rotate the matrix in 90 degrees.

  • Best score: 23
  • Best player score: 24
  • Position: #30 / 112
  • Number of attempts: 12
Create a diamond comment - 260 entries

Encapsulate the text in a diamond pattern.

  • Best score: 27
  • Best player score: 30
  • Position: #28 / 60
  • Number of attempts: 18
Lowercase first characters - 387 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 / 142
  • Number of attempts: 5
Make list of numbers from 1 to 30 more compact, but more confusing - 81 entries

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

  • Best score: 75
  • Best player score: 100
  • Position: #11 / 33
  • Number of attempts: 1
Write Hello World in the 'i use arch btw' -programming language - 28 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 / 13
  • Number of attempts: 3
Migrated to Postgres! - 244 entries

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

  • Best score: 26
  • Best player score: 27
  • Position: #30 / 96
  • Number of attempts: 4
quotes inside quotes - 3070 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 / 1055
  • 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 - 65 entries

cleanup the file

  • Best score: 15
  • Best player score: 16
  • Position: #47 / 53
  • Number of attempts: 4
Circle in a square - 132 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: #31 / 49
  • Number of attempts: 7
replacing each line of a block selection - 2871 entries

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

  • Best score: 18
  • Best player score: 19
  • Position: #222 / 751
  • Number of attempts: 7
Letters are numbers - 141 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: #64 / 70
  • Number of attempts: 3
Dumb to smart - 91 entries

Turn dumb quote to smart vim's way.

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

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 22
  • Position: #206 / 531
  • Number of attempts: 5
Add fold markers to a .c file - 504 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: #79 / 159
  • Number of attempts: 5
Braces or Brackets? - 725 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: #155 / 255
  • Number of attempts: 3
Whitespace, empty lines and tabs - 3060 entries

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

  • Best score: 16
  • Best player score: 17
  • Position: #137 / 677
  • Number of attempts: 6
Flodder-challenge - 941 entries

Replace the text the most efficient and win!

  • Best score: 27
  • Best player score: 30
  • Position: #71 / 276
  • Number of attempts: 4
Simple text editing with Vim - 11753 entries

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

  • Best score: 13
  • Best player score: 14
  • Position: #1886 / 3447
  • Number of attempts: 3
Reformat/Refactor a Golfer Class - 6141 entries

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

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

entered into 35 challenges

contributed 0 challenges