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 - 652 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: #60 / 171
  • Number of attempts: 7
HS exam question - 1523 entries

Convert the data to a python dictionary

  • Best score: 47
  • Best player score: 86
  • Position: #279 / 404
  • Number of attempts: 4
Reformat symbols in list - 1506 entries

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

  • Best score: 24
  • Best player score: 29
  • Position: #168 / 333
  • Number of attempts: 6
Substraction (bis) - 582 entries

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

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

Based off of something I saw on reddit

  • Best score: 28
  • Best player score: 51
  • Position: #80 / 90
  • Number of attempts: 2
2 quick changes and a numbered list - 614 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: #109 / 147
  • Number of attempts: 2
delete swap - 1648 entries

delete all swap

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

Fix the shell script with the fewest keystrokes!

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

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

  • Best score: 10
  • Best player score: 13
  • Position: #374 / 548
  • Number of attempts: 1
Java to JavaScript - 267 entries

Let convert some simple Java file to JavaScript!

  • Best score: 59
  • Best player score: 73
  • Position: #29 / 72
  • Number of attempts: 9
Wikitext headings to markdown - 985 entries

Convert the wikitext headings to markdown.

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

Simple number generation

  • Best score: 10
  • Best player score: 11
  • Position: #400 / 699
  • Number of attempts: 2
Fill in the chess board - 933 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: #79 / 180
  • Number of attempts: 6
Learn to ask for :help - 572 entries

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

  • Best score: 19
  • Best player score: 23
  • Position: #30 / 128
  • Number of attempts: 7
Transpose a python matrix - 848 entries

Rotate the matrix in 90 degrees.

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

Encapsulate the text in a diamond pattern.

  • Best score: 27
  • Best player score: 30
  • Position: #36 / 74
  • Number of attempts: 18
Lowercase first characters - 482 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 / 180
  • Number of attempts: 5
Make list of numbers from 1 to 30 more compact, but more confusing - 96 entries

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

  • Best score: 74
  • Best player score: 100
  • Position: #15 / 38
  • 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: #7 / 16
  • Number of attempts: 3
Migrated to Postgres! - 321 entries

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

  • Best score: 26
  • Best player score: 27
  • Position: #32 / 125
  • Number of attempts: 4
quotes inside quotes - 3128 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 / 1073
  • Number of attempts: 5
Top X - 192 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: #47 / 70
  • Number of attempts: 2
fib.c cleanup - 67 entries

cleanup the file

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

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

  • Best score: 18
  • Best player score: 19
  • Position: #225 / 772
  • Number of attempts: 7
Letters are numbers - 154 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: #67 / 74
  • Number of attempts: 3
Dumb to smart - 97 entries

Turn dumb quote to smart vim's way.

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

This docstring is a complete lie. Fix it.

  • Best score: 22
  • Best player score: 22
  • Position: #206 / 567
  • Number of attempts: 5
Add fold markers to a .c file - 571 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 / 175
  • Number of attempts: 5
Braces or Brackets? - 930 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: #179 / 295
  • Number of attempts: 3
Whitespace, empty lines and tabs - 3492 entries

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

  • Best score: 16
  • Best player score: 17
  • Position: #151 / 756
  • Number of attempts: 6
Flodder-challenge - 1176 entries

Replace the text the most efficient and win!

  • Best score: 27
  • Best player score: 30
  • Position: #85 / 321
  • Number of attempts: 4
Simple text editing with Vim - 12467 entries

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

  • Best score: 13
  • Best player score: 14
  • Position: #1920 / 3621
  • Number of attempts: 3
Reformat/Refactor a Golfer Class - 6736 entries

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

  • Best score: 31
  • Best player score: 38
  • Position: #654 / 1651
  • Number of attempts: 6
vuems
Twitter:

entered into 35 challenges

contributed 0 challenges