Played Challenges
Create json from a .env file - 1518 entries
A simple everyday task.
- Best score: 39
- Best player score: 45
- Position: #82 / 353
- Number of attempts: 8
Reordering properties - 1136 entries
Arrange the CSS lines for the #topbar selector based on their complete line length, from shortest to longest.
- Best score: 24
- Best player score: 80
- Position: #145 / 269
- Number of attempts: 2
Sort and Tag - 676 entries
The goal is to sort these lines alphabetically, assign a unique identifier to each line in the format "[01]", "[02]", etc., and then restore the original order of the lines while preserving the assigned identifiers.
- Best score: 36
- Best player score: 75
- Position: #57 / 140
- Number of attempts: 4
Changing date formats - 687 entries
Change the date format to Y/M/D.
- Best score: 37
- Best player score: 45
- Position: #24 / 188
- Number of attempts: 13
YAML to dotenv - 1459 entries
Convert this YAML config file to a .env file.
- Best score: 16
- Best player score: 16
- Position: #15 / 298
- Number of attempts: 9
Change to ascending order - 485 entries
Change each line of numbers consistently from descending to ascending order.
- Best score: 17
- Best player score: 39
- Position: #40 / 119
- Number of attempts: 3
Generate an entry for each month - 369 entries
The input file contains a URI with a month in it. Generate the URIs for all the other months up to a couple of years
- Best score: 27
- Best player score: 68
- Position: #69 / 91
- Number of attempts: 16
The Fibonacci Spacer - 157 entries
Split the words, remove punctuation and add spaces before each line following the Fibonacci sequence (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89)
- Best score: 25
- Best player score: 43
- Position: #17 / 47
- Number of attempts: 3
Fix the Scala Method - 306 entries
Fix the missing semicolons and the Int type, ensure the floating point division, and remove the unnecessary return.
- Best score: 2
- Best player score: 22
- Position: #37 / 98
- Number of attempts: 5
Change class fields from camel case to snake case - 568 entries
This is the reverse of the previous challenge: https://www.vimgolf.com/challenges/9v006705493c000000000513
- Best score: 18
- Best player score: 18
- Position: #24 / 132
- Number of attempts: 4
Change class fields from snake case to camel case - 290 entries
Change the class fields in this Scala class from snake case to camel case
- Best score: 13
- Best player score: 13
- Position: #35 / 108
- Number of attempts: 3
Reorganize Pokémon - 772 entries
Change the format of the each line and sort alphabetically.
- Best score: 18
- Best player score: 21
- Position: #98 / 214
- Number of attempts: 6
Replace csv column if it's not empty - 255 entries
Replace the credit_score_percentile column with the value 0.0 but leave the empty ones untouched
- Best score: 15
- Best player score: 15
- Position: #28 / 87
- Number of attempts: 6
extract struct tag in go - 149 entries
Can you extract all struct tags in the fewest keystrokes possible?
- Best score: 29
- Best player score: 33
- Position: #8 / 41
- Number of attempts: 7
CaN yOuR ViM dO ThAt? #1 - 256 entries
Tsoding's famous "Can your Vim do that?" https://youtu.be/Bafo3hhheHU?si=DfcT4sUEMTSAevnx&t=1091
- Best score: 41
- Best player score: 45
- Position: #40 / 100
- Number of attempts: 2
Append leading hyphen count to each line - 126 entries
Append the number of leading hyphens to the end of each line.
- Best score: 23
- Best player score: 25
- Position: #19 / 35
- Number of attempts: 4
Move list of uuids into a SQL query - 227 entries
Take the list of UUIDs and use them as a filter in the where statement of a SQL query
- Best score: 57
- Best player score: 60
- Position: #7 / 73
- Number of attempts: 9
Markdown Blog Editing - 456 entries
Convert the given link text in start file to a markdown link list.
- Best score: 30
- Best player score: 41
- Position: #37 / 107
- Number of attempts: 5
Fix timezone format - 326 entries
Add the missing T and Z in the datetime field. There should be a T instead of the space, and a Z at the end of the datetime. `2024-08-31 18:32:00;` -> `2024-08-31T18:32:00Z;`
- Best score: 15
- Best player score: 19
- Position: #75 / 105
- Number of attempts: 6
Move to corresponding lines - 307 entries
Move the values to the corresponding lines.
- Best score: 16
- Best player score: 28
- Position: #46 / 69
- Number of attempts: 6
Rearrange array to single level - 1720 entries
The goal is to flatten the array into a single list and remove any empty elements.
- Best score: 14
- Best player score: 21
- Position: #93 / 289
- Number of attempts: 4
Copy punctuation - 682 entries
I want to copy the last line’s brackets, quotes, and commas to each line. How?
- Best score: 19
- Best player score: 30
- Position: #61 / 166
- Number of attempts: 4
Hex to binary - 120 entries
Convert hexadecimal numbers into binary format.
- Best score: 29
- Best player score: 54
- Position: #21 / 23
- Number of attempts: 1
Insert column data on Confluence-style table - 500 entries
Add ip addresses into new "IP" column based on the last digits from the "Server" column
- Best score: 33
- Best player score: 41
- Position: #40 / 112
- Number of attempts: 7
Surround the 'z' character with brackets, quotes, and print as formatted string. - 576 entries
Surround the 'z' character with brackets, quotes, and print as formatted string.
- Best score: 17
- Best player score: 17
- Position: #237 / 324
- Number of attempts: 1
Paste a column after a column - 2662 entries
This task is very common while using multi-cursor. What is the elegant vim way ?
- Best score: 14
- Best player score: 16
- Position: #130 / 576
- Number of attempts: 8
Filter number combinations that don't add to 11 - 424 entries
Append the sum of each line to its end, alongside an equals sign, and remove any that do not sum to 11. The ordering of lines should stay the same. Note that the combinations are semi-arbitrary and not all 4-number combinations are present in the file.
- Best score: 27
- Best player score: 30
- Position: #99 / 122
- Number of attempts: 1
Tabbed Table to Python Array - 769 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: 55
- Position: #53 / 184
- Number of attempts: 10
Reformat symbols in list - 1649 entries
Saw this in some lecture, easy reformatting using multiple cursor in VS Code
- Best score: 24
- Best player score: 26
- Position: #110 / 355
- Number of attempts: 8
Changing around text with citations - 361 entries
Based off of something I saw on reddit
- Best score: 28
- Best player score: 39
- Position: #51 / 95
- Number of attempts: 5
2 quick changes and a numbered list - 660 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: #111 / 156
- Number of attempts: 1
Fix the shell script! - 2663 entries
Fix the shell script with the fewest keystrokes!
- Best score: 26
- Best player score: 27
- Position: #102 / 619
- Number of attempts: 10
Java to JavaScript - 299 entries
Let convert some simple Java file to JavaScript!
- Best score: 59
- Best player score: 138
- Position: #69 / 77
- Number of attempts: 1
Wikitext headings to markdown - 1029 entries
Convert the wikitext headings to markdown.
- Best score: 20
- Best player score: 32
- Position: #151 / 213
- Number of attempts: 2
Lowercase first characters - 499 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 / 185
- Number of attempts: 8
Migrated to Postgres! - 348 entries
Celebration completion of this project. https://github.com/igrigorik/vimgolf/pull/322
- Best score: 26
- Best player score: 30
- Position: #87 / 134
- Number of attempts: 1
Generate a very basic Python constructor - 336 entries
I actually needed to do this myself, so I look forward to learning how.
- Best score: 38
- Best player score: 40
- Position: #29 / 101
- Number of attempts: 1
Python dataclasses - 1248 entries
Simple challenge to extract fields from a Python class
- Best score: 19
- Best player score: 30
- Position: #209 / 311
- Number of attempts: 5
Modernise code - 1434 entries
Modernise and clean up some C++ code.
- Best score: 34
- Best player score: 35
- Position: #99 / 331
- Number of attempts: 5
Easy modification of ssh config - 397 entries
Just add another alias to each worker
- Best score: 24
- Best player score: 33
- Position: #81 / 116
- Number of attempts: 4
ssh config skills - 278 entries
Parse output from `kuebctl get no -o wide` into an .ssh/config file!
- Best score: 41
- Best player score: 48
- Position: #29 / 67
- Number of attempts: 4
Python: Def to Lambda - 474 entries
LAMBDA!!!
- Best score: 19
- Best player score: 19
- Position: #83 / 158
- Number of attempts: 2
Satisfy the go linter - 2476 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: #236 / 492
- Number of attempts: 2
Add quotes to ansible playbook - 1036 entries
You created an ansible playbook, but forgot to add quotes. Can you fix it?
- Best score: 8
- Best player score: 10
- Position: #257 / 327
- Number of attempts: 3
Data reformat - 319 entries
Reformat this copy-paste data! #csv
- Best score: 36
- Best player score: 51
- Position: #40 / 67
- Number of attempts: 10
xrandr outputs and dashes - 730 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: 15
- Position: #188 / 227
- Number of attempts: 3
From a Thunderlink to a Markdown link - 796 entries
ThunderLinks are durable hyperlinks to specific email messages generated from Thunderbird in HTML format. Leverage the power of vim to make them suitable for a markdown-formatted file.
- Best score: 18
- Best player score: 21
- Position: #103 / 175
- Number of attempts: 5
Yo To Hello - 1154 entries
Simply Turn Yo To Hello
- Best score: 8
- Best player score: 10
- Position: #376 / 535
- Number of attempts: 1
C# function to F# - 40 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: 101
- Best player score: 110
- Position: #6 / 12
- Number of attempts: 9
Get mail address from outlook format - 656 entries
Create a mail list space separated of mail list formatted by outlook
- Best score: 15
- Best player score: 16
- Position: #126 / 205
- Number of attempts: 5
Add string initializers to an enum - 899 entries
Change Typescript enum so that it has string initializers.
- Best score: 21
- Best player score: 23
- Position: #125 / 264
- Number of attempts: 5
SCREAMING_SNAKE_CASE to Title Case - 1269 entries
Convert strings in SCREAMING_SNAKE_CASE to Title Case. Examples: EMPLOYEE_NAME -> Employee Name REVENUE_YEAR_TO_DATE -> Revenue Year To Date SALARY -> Salary
- Best score: 19
- Best player score: 29
- Position: #178 / 264
- Number of attempts: 4
remove lines containing the word "reader" - 3631 entries
easy stuff
- Best score: 9
- Best player score: 10
- Position: #856 / 1179
- Number of attempts: 3
Com(m)a Trouble - 3968 entries
Someone was real stupid when placing his commas. Can you fix it?
- Best score: 12
- Best player score: 23
- Position: #707 / 901
- Number of attempts: 2
Extract wireshark capture filter - 234 entries
Extract wireshark capture filter from IP plan
- Best score: 25
- Best player score: 27
- Position: #41 / 76
- Number of attempts: 2
html paragraph to table - 634 entries
reformat html paragraph to table
- Best score: 48
- Best player score: 58
- Position: #69 / 130
- Number of attempts: 4
Preferably without multi-cursor plugin - 557 entries
Originally asked as question on reddit by kpthunder: https://www.reddit.com/r/vim/comments/9fvsro/what_is_the_most_efficient_way_to_go_about/
- Best score: 30
- Best player score: 34
- Position: #60 / 133
- Number of attempts: 3
Basic renumbering - 5707 entries
Renumbering Basic.
- Best score: 11
- Best player score: 23
- Position: #1086 / 1274
- Number of attempts: 4
Change attribute to getter - 163 entries
Wrap attributes with a getter method.
- Best score: 24
- Best player score: 24
- Position: #30 / 64
- Number of attempts: 5
Python challenge - 203 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: #17 / 49
- Number of attempts: 2
Line under headers - 2087 entries
Put a line under each header, and remove the other markdown formatting.
- Best score: 24
- Best player score: 30
- Position: #296 / 513
- Number of attempts: 2
Greek Letters - 68 entries
Starting with a list of Greek letters, create a cross-reference table showing all of the Greek alpha-beta. You'll likely need to use digraphs (:help digraphs). Note that while most digraphs can be entered with either character first, lowercase sigma has two digraphs -- s* AND *s! Good luck!
- Best score: 34
- Best player score: 81
- Position: #14 / 26
- Number of attempts: 4
change parenthesis - 301 entries
change the pair of braces into a pair of parentheses
- Best score: 9
- Best player score: 10
- Position: #148 / 163
- Number of attempts: 3
move titles next to url, in quotes - 558 entries
had trouble with something similar
- Best score: 19
- Best player score: 24
- Position: #122 / 147
- Number of attempts: 1
convert yml into java pojo field - 873 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: #150 / 231
- Number of attempts: 2
Swap assigned value - 671 entries
Simple problem but looking for interesting solutions.
- Best score: 10
- Best player score: 12
- Position: #218 / 259
- Number of attempts: 4
Cartesian product - 267 entries
{1,2,3,4,5} X {1,2,3,4,5}
- Best score: 24
- Best player score: 52
- Position: #89 / 100
- Number of attempts: 2
Collect List - 4317 entries
Convert to comma separated list.
- Best score: 12
- Best player score: 13
- Position: #627 / 1194
- Number of attempts: 4
Condensed Cases - 811 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: #149 / 249
- Number of attempts: 2
-a-b-c- - 3225 entries
Put hyphens everywhere.
- Best score: 13
- Best player score: 16
- Position: #878 / 1140
- Number of attempts: 2
Piphilology - 158 entries
Piphilology comprises the creation and use of mnemonic techniques to remember a span of digits of the mathematical constant π. http://en.wikipedia.org/wiki/Piphilology
- Best score: 28
- Best player score: 42
- Position: #50 / 54
- Number of attempts: 2
REDRUM - 175 entries
If you remember "The Shinning", the first time you saw the bloody word REDRUM you probably thinked "What the Hell is that?" Well, then you know that you need a little help from a looking-glass to make sense of it. Now it's time to use vim like a mirror to reveal the message.
- Best score: 14
- Best player score: 29
- Position: #60 / 67
- Number of attempts: 6
Enumerate words - 257 entries
Enumerate the unique words in order.
- Best score: 23
- Best player score: 27
- Position: #70 / 92
- Number of attempts: 3
Harder than "abcd > a b c d" - 106 entries
Not as easy as the last challenge. This time, just one space between a and b, up to 25 spaces between y and z. (Removed some lines; diff was too long.)
- Best score: 15
- Best player score: 30
- Position: #42 / 47
- Number of attempts: 4
Groups magic - 163 entries
Regexp or macros for string converting: (a) -> ___ (abc) -> ____ (abcd) -> ______ All in the '(' replace to _ multiply by char count + ()
- Best score: 13
- Best player score: 14
- Position: #73 / 96
- Number of attempts: 3
abcd > a b c d - 299 entries
transform the single spaces into 4 spaces repeat for each line
- Best score: 15
- Best player score: 15
- Position: #206 / 228
- Number of attempts: 1
Readable Rubyhash - 274 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: #82 / 97
- Number of attempts: 2
Changing URL path in CSS - 144 entries
What's the quickest way to swap out all the URLs in a CSS file? Is it wasted keystrokes using look-behinds and look-aheads? (I'm sorry for the delete/report--I made a mistake with the last one requiring an ugly search for graphic to replace with images. I just intended this to be a simple search and replace that might possibly generate some macros or normals solutions that are quicker)
- Best score: 40
- Best player score: 42
- Position: #27 / 65
- Number of attempts: 4
A simple change - 476 entries
Just change the numbers in the most efficient way ...
- Best score: 12
- Best player score: 14
- Position: #135 / 196
- Number of attempts: 2
SFD-ROC: The Quick Brown Fox - 202 entries
Someone has vandalized our text (again). Please fix to read: The Quick Brown Fox Jumps Over The Lazy Dog.
- Best score: 24
- Best player score: 25
- Position: #20 / 108
- Number of attempts: 7
The Quick Brown Fox Jumps Over The Lazy Vim - 425 entries
Someone has vandalized this text file and replaced the beginning character of one word in each line with a Big "X." Please remove the big X's, and fix each line to read "The Quick Brown Fox Jumps Over The Lazy Dog."
- Best score: 8
- Best player score: 11
- Position: #161 / 193
- Number of attempts: 5
The name of the game - 678 entries
End up with the name of the game.
- Best score: 11
- Best player score: 11
- Position: #284 / 363
- Number of attempts: 3
lamb had a little Mary - 641 entries
"Mary" and "lamb" are swapped. Unswap them. Fast as you can.
- Best score: 16
- Best player score: 35
- Position: #93 / 177
- Number of attempts: 9
Chucking wood - 136 entries
An exercise in compressing repetitive text. For this challenge, any entry that uses keys outside the main row (such as arrow keys, Home, End, Delete, etc.) will be removed. (Esc is OK, though you should be using C-[ anyway.)
- Best score: 51
- Best player score: 54
- Position: #19 / 51
- Number of attempts: 6
Vertical Limit - 2610 entries
transform a succession of one word lines to a an array of strings
- Best score: 21
- Best player score: 25
- Position: #402 / 771
- Number of attempts: 2
Switch function arguments - 2188 entries
How to switch two arguments of a function.
- Best score: 11
- Best player score: 13
- Position: #436 / 676
- Number of attempts: 3
Ruby 1.9 hashes - 1277 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: 12
- Best player score: 18
- Position: #358 / 413
- Number of attempts: 2
The Cake is a Lie - 1389 entries
Correct the capitalization of each word
- Best score: 9
- Best player score: 16
- Position: #522 / 538
- Number of attempts: 3
Reformat/Refactor a Golfer Class - 7506 entries
A simple case of removing unneeded code and fixing broken indentation.
- Best score: 7
- Best player score: 34
- Position: #333 / 1846
- Number of attempts: 12
0xf00ff00f
Twitter: @0xf00ff00f
Old guy | Mid software engineer | Interests: programming, running, science fiction, city pop, 日本語(まだまだ初心者ですけど)
VimGolf