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

Flip All Bits - 329 entries

Perform a bitwise NOT operation on each bit, meaning that bits that are 0 become 1, and those that are 1 become 0.

  • Best score: 26
  • Best player score: 64
  • Position: #95 / 106
  • Number of attempts: 1
Reordering properties - 1308 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: 27
  • Position: #17 / 293
  • Number of attempts: 3
Sort and Tag - 703 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: 46
  • Position: #31 / 151
  • Number of attempts: 1
Changing date formats - 728 entries

Change the date format to Y/M/D.

  • Best score: 37
  • Best player score: 50
  • Position: #37 / 205
  • Number of attempts: 1
Change to ascending order - 516 entries

Change each line of numbers consistently from descending to ascending order.

  • Best score: 17
  • Best player score: 18
  • Position: #17 / 129
  • Number of attempts: 1
Change readonly files - 117 entries

Try to write a file that was marked as read-only.

  • Best score: 20
  • Best player score: 64
  • Position: #30 / 35
  • Number of attempts: 1
Append leading hyphen count to each line - 141 entries

Append the number of leading hyphens to the end of each line.

  • Best score: 23
  • Best player score: 60
  • Position: #38 / 40
  • Number of attempts: 1
Word completion - 305 entries

Try to complete these options within 20 keystrokes.

  • Best score: 20
  • Best player score: 27
  • Position: #36 / 81
  • Number of attempts: 1
Remove adjacent duplicates - 718 entries

Try to find a way to remove adjacent duplicate letters.

  • Best score: 19
  • Best player score: 32
  • Position: #109 / 179
  • Number of attempts: 1
Rearrange array to single level - 1814 entries

The goal is to flatten the array into a single list and remove any empty elements.

  • Best score: 14
  • Best player score: 43
  • Position: #257 / 306
  • Number of attempts: 1
Copy punctuation - 734 entries

I want to copy the last line’s brackets, quotes, and commas to each line. How?

  • Best score: 19
  • Best player score: 21
  • Position: #22 / 178
  • Number of attempts: 1
Deleting text - 341 entries

Delete everything except some specific numbers.

  • Best score: 26
  • Best player score: 39
  • Position: #14 / 109
  • Number of attempts: 1
Case matching substitution - 89 entries

Swap every "lorem" for "ipsum", keeping the letter cases the same.

  • Best score: 31
  • Best player score: 45
  • Position: #11 / 21
  • Number of attempts: 1
Define Gray code states - 56 entries

List the states using Gray code and assign Gray code values to each state.

  • Best score: 54
  • Best player score: 118
  • Position: #15 / 16
  • Number of attempts: 1
Hex to binary - 129 entries

Convert hexadecimal numbers into binary format.

  • Best score: 29
  • Best player score: 39
  • Position: #14 / 25
  • Number of attempts: 1
Count words - 123 entries

Merge duplicates and count each word.

  • Best score: 39
  • Best player score: 50
  • Position: #10 / 27
  • Number of attempts: 1
String decompression - 43 entries

3a4b2c => aaabbbbcc. Start a new line when you exceed 79 columns.

  • Best score: 27
  • Best player score: 64
  • Position: #13 / 15
  • Number of attempts: 1
Reverse even lines - 44 entries

Reverse only the even lines without altering the odd lines.

  • Best score: 7
  • Best player score: 16
  • Position: #9 / 14
  • Number of attempts: 1
Format a long line - 129 entries

Reformat long lines (gq), textwidth=78, no trailing spaces.

  • Best score: 17
  • Best player score: 24
  • Position: #17 / 37
  • Number of attempts: 1
Find anomalies - 166 entries

There is one special character per line

  • Best score: 30
  • Best player score: 31
  • Position: #14 / 45
  • Number of attempts: 1
Coordinate extraction - 67 entries

Get the coordinates of all "M"s from the Vim logo

  • Best score: 43
  • Best player score: 51
  • Position: #11 / 18
  • Number of attempts: 1
Morse - 181 entries

Translate Morse code to Text

  • Best score: 31
  • Best player score: 69
  • Position: #21 / 37
  • Number of attempts: 1

Contributed Challenges

Change readonly files - 117 entries

Try to write a file that was marked as read-only.

Morse - 181 entries

Translate Morse code to Text

Coordinate extraction - 67 entries

Get the coordinates of all "M"s from the Vim logo

String decompression - 43 entries

3a4b2c => aaabbbbcc. Start a new line when you exceed 79 columns.

Find anomalies - 166 entries

There is one special character per line

Format a long line - 129 entries

Reformat long lines (gq), textwidth=78, no trailing spaces.

Reverse even lines - 44 entries

Reverse only the even lines without altering the odd lines.

Count words - 123 entries

Merge duplicates and count each word.

Hex to binary - 129 entries

Convert hexadecimal numbers into binary format.

Define Gray code states - 56 entries

List the states using Gray code and assign Gray code values to each state.

Case matching substitution - 89 entries

Swap every "lorem" for "ipsum", keeping the letter cases the same.

Deleting text - 341 entries

Delete everything except some specific numbers.

Copy punctuation - 734 entries

I want to copy the last line’s brackets, quotes, and commas to each line. How?

Rearrange array to single level - 1814 entries

The goal is to flatten the array into a single list and remove any empty elements.

Remove adjacent duplicates - 718 entries

Try to find a way to remove adjacent duplicate letters.

Word completion - 305 entries

Try to complete these options within 20 keystrokes.

Change to ascending order - 516 entries

Change each line of numbers consistently from descending to ascending order.

Append leading hyphen count to each line - 141 entries

Append the number of leading hyphens to the end of each line.

Reordering properties - 1308 entries

Arrange the CSS lines for the #topbar selector based on their complete line length, from shortest to longest.

Changing date formats - 728 entries

Change the date format to Y/M/D.

Sort and Tag - 703 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.

Flip All Bits - 329 entries

Perform a bitwise NOT operation on each bit, meaning that bits that are 0 become 1, and those that are 1 become 0.

maharba6
Github:

entered into 22 challenges

contributed 22 challenges