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

Paste a column after a column - 612 entries

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

  • Best score: 14
  • Best player score: 16
  • Position: #22 / 141
  • Number of attempts: 5
Changing around text with citations - 188 entries

Based off of something I saw on reddit

  • Best score: 28
  • Best player score: 39
  • Position: #33 / 57
  • Number of attempts: 5
2 quick changes and a numbered list - 425 entries

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

  • Best score: 37
  • Best player score: 59
  • Position: #75 / 101
  • Number of attempts: 1
Fix the shell script! - 1566 entries

Fix the shell script with the fewest keystrokes!

  • Best score: 26
  • Best player score: 27
  • Position: #83 / 391
  • Number of attempts: 10
Java to JavaScript - 214 entries

Let convert some simple Java file to JavaScript!

  • Best score: 59
  • Best player score: 138
  • Position: #52 / 55
  • Number of attempts: 1
Wikitext headings to markdown - 777 entries

Convert the wikitext headings to markdown.

  • Best score: 20
  • Best player score: 32
  • Position: #120 / 169
  • Number of attempts: 2
Lowercase first characters - 412 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: #30 / 148
  • Number of attempts: 8
Migrated to Postgres! - 257 entries

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

  • Best score: 26
  • Best player score: 30
  • Position: #72 / 103
  • Number of attempts: 1
Python dataclasses - 761 entries

Simple challenge to extract fields from a Python class

  • Best score: 19
  • Best player score: 30
  • Position: #124 / 192
  • Number of attempts: 2
Modernise code - 1055 entries

Modernise and clean up some C++ code.

  • Best score: 34
  • Best player score: 37
  • Position: #94 / 246
  • Number of attempts: 3
Easy modification of ssh config - 292 entries

Just add another alias to each worker

  • Best score: 24
  • Best player score: 33
  • Position: #65 / 93
  • Number of attempts: 4
Satisfy the go linter - 2047 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: 23
  • Position: #198 / 418
  • Number of attempts: 2
Data reformat - 251 entries

Reformat this copy-paste data! #csv

  • Best score: 38
  • Best player score: 51
  • Position: #33 / 58
  • Number of attempts: 10
xrandr outputs and dashes - 624 entries

uh oh, different video drivers identify display outputs with more dashes. Quick, need to change this xrandr script!

  • Best score: 12
  • Best player score: 17
  • Position: #179 / 205
  • Number of attempts: 1
Yo To Hello - 1074 entries

Simply Turn Yo To Hello

  • Best score: 10
  • Best player score: 10
  • Position: #375 / 494
  • Number of attempts: 1
C# function to F# - 22 entries

Converting from C# to F# is not hard, but requires some manual labor. Here you should convert a C# function using a C# class to a F# function using a C# class.

  • Best score: 105
  • Best player score: 110
  • Position: #3 / 8
  • Number of attempts: 9
Add string initializers to an enum - 834 entries

Change Typescript enum so that it has string initializers.

  • Best score: 21
  • Best player score: 23
  • Position: #114 / 245
  • Number of attempts: 5
remove lines containing the word "reader" - 3480 entries

easy stuff

  • Best score: 9
  • Best player score: 10
  • Position: #834 / 1127
  • Number of attempts: 3
Com(m)a Trouble - 3484 entries

Someone was real stupid when placing his commas. Can you fix it?

  • Best score: 12
  • Best player score: 23
  • Position: #615 / 782
  • Number of attempts: 2
Extract wireshark capture filter - 193 entries

Extract wireshark capture filter from IP plan

  • Best score: 25
  • Best player score: 27
  • Position: #35 / 64
  • Number of attempts: 2
html paragraph to table - 587 entries

reformat html paragraph to table

  • Best score: 48
  • Best player score: 58
  • Position: #65 / 122
  • Number of attempts: 4
Basic renumbering - 5486 entries

Renumbering Basic.

  • Best score: 11
  • Best player score: 23
  • Position: #1059 / 1243
  • Number of attempts: 4
Change attribute to getter - 127 entries

Wrap attributes with a getter method.

  • Best score: 24
  • Best player score: 24
  • Position: #30 / 53
  • Number of attempts: 5
Python challenge - 142 entries

Change the types of the variables in the list from str to float, while keeping the truncation.

  • Best score: 31
  • Best player score: 33
  • Position: #12 / 42
  • Number of attempts: 2
change parenthesis - 265 entries

change the pair of braces into a pair of parentheses

  • Best score: 9
  • Best player score: 10
  • Position: #138 / 150
  • Number of attempts: 3
convert yml into java pojo field - 826 entries

How fast vim can create fields for java pojo i.e class declaration referring to a (simple) yml file

  • Best score: 29
  • Best player score: 31
  • Position: #144 / 222
  • Number of attempts: 2
Collect List - 4212 entries

Convert to comma separated list.

  • Best score: 12
  • Best player score: 13
  • Position: #615 / 1176
  • Number of attempts: 4
Condensed Cases - 773 entries

Apple's new programming language, Swift, allows two style of case statements: 1) one Enum case on each line, or 2) multiple Enum cases on a single line. Convert the following from the first case (no pun intended) to the second type.

  • Best score: 12
  • Best player score: 14
  • Position: #144 / 238
  • Number of attempts: 2
-a-b-c- - 3142 entries

Put hyphens everywhere.

  • Best score: 13
  • Best player score: 16
  • Position: #862 / 1120
  • Number of attempts: 2
Readable Rubyhash - 242 entries

Rubyists talk about being cutting edge but how many are using 1.9 in production? Time to convert those verbose 1.8 hashes in to symbolic, succinct 1.9 beauties!

  • Best score: 23
  • Best player score: 35
  • Position: #76 / 90
  • Number of attempts: 2
The Cake is a Lie - 1257 entries

Correct the capitalization of each word

  • Best score: 9
  • Best player score: 16
  • Position: #490 / 503
  • Number of attempts: 3
0xf00ff00f
Twitter:

old guy | mediocre software engineer | not interested in your politics

entered into 31 challenges

contributed 0 challenges