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 - 1121 entries

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

  • Best score: 14
  • Best player score: 16
  • Position: #46 / 236
  • Number of attempts: 5
Changing around text with citations - 200 entries

Based off of something I saw on reddit

  • Best score: 28
  • Best player score: 39
  • Position: #34 / 61
  • Number of attempts: 5
2 quick changes and a numbered list - 459 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: #83 / 109
  • Number of attempts: 1
Fix the shell script! - 1728 entries

Fix the shell script with the fewest keystrokes!

  • Best score: 26
  • Best player score: 27
  • Position: #84 / 418
  • Number of attempts: 10
Java to JavaScript - 216 entries

Let convert some simple Java file to JavaScript!

  • Best score: 59
  • Best player score: 138
  • Position: #54 / 57
  • Number of attempts: 1
Wikitext headings to markdown - 781 entries

Convert the wikitext headings to markdown.

  • Best score: 20
  • Best player score: 32
  • Position: #122 / 172
  • Number of attempts: 2
Lowercase first characters - 421 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 / 152
  • Number of attempts: 8
Migrated to Postgres! - 268 entries

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

  • Best score: 26
  • Best player score: 30
  • Position: #74 / 107
  • Number of attempts: 1
Python dataclasses - 796 entries

Simple challenge to extract fields from a Python class

  • Best score: 19
  • Best player score: 30
  • Position: #133 / 204
  • Number of attempts: 2
Modernise code - 1103 entries

Modernise and clean up some C++ code.

  • Best score: 34
  • Best player score: 37
  • Position: #97 / 261
  • Number of attempts: 3
Easy modification of ssh config - 305 entries

Just add another alias to each worker

  • Best score: 24
  • Best player score: 33
  • Position: #67 / 95
  • Number of attempts: 4
Satisfy the go linter - 2076 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: #200 / 422
  • 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 - 1081 entries

Simply Turn Yo To Hello

  • Best score: 10
  • Best player score: 10
  • Position: #375 / 497
  • 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 - 836 entries

Change Typescript enum so that it has string initializers.

  • Best score: 21
  • Best player score: 23
  • Position: #115 / 246
  • Number of attempts: 5
remove lines containing the word "reader" - 3483 entries

easy stuff

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

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

  • Best score: 12
  • Best player score: 23
  • Position: #620 / 789
  • 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 - 5489 entries

Renumbering Basic.

  • Best score: 11
  • Best player score: 23
  • Position: #1060 / 1245
  • 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 - 267 entries

change the pair of braces into a pair of parentheses

  • Best score: 9
  • Best player score: 10
  • Position: #138 / 151
  • 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 - 775 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 / 239
  • Number of attempts: 2
-a-b-c- - 3149 entries

Put hyphens everywhere.

  • Best score: 13
  • Best player score: 16
  • Position: #863 / 1121
  • 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 - 1260 entries

Correct the capitalization of each word

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

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

entered into 31 challenges

contributed 0 challenges