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

Reordering properties - 837 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: #9 / 199
  • Number of attempts: 3
Sort and Tag - 450 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: #24 / 97
  • Number of attempts: 1
Changing date formats - 480 entries

Change the date format to Y/M/D.

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

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

  • Best score: 17
  • Best player score: 18
  • Position: #15 / 97
  • Number of attempts: 1
Change readonly files - 69 entries

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

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

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

  • Best score: 23
  • Best player score: 60
  • Position: #25 / 27
  • Number of attempts: 1
Word completion - 234 entries

Try to complete these options within 20 keystrokes.

  • Best score: 20
  • Best player score: 27
  • Position: #29 / 64
  • Number of attempts: 1
Remove adjacent duplicates - 579 entries

Try to find a way to remove adjacent duplicate letters.

  • Best score: 19
  • Best player score: 32
  • Position: #88 / 151
  • Number of attempts: 1
Rearrange array to single level - 1562 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: #214 / 257
  • Number of attempts: 1
Copy punctuation - 599 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: #17 / 149
  • Number of attempts: 1
Deleting text - 295 entries

Delete everything except some specific numbers.

  • Best score: 26
  • Best player score: 39
  • Position: #12 / 95
  • Number of attempts: 1
Case matching substitution - 56 entries

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

  • Best score: 31
  • Best player score: 45
  • Position: #9 / 16
  • Number of attempts: 1
Define Gray code states - 41 entries

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

  • Best score: 56
  • Best player score: 118
  • Position: #11 / 12
  • Number of attempts: 1
Hex to binary - 106 entries

Convert hexadecimal numbers into binary format.

  • Best score: 29
  • Best player score: 39
  • Position: #12 / 22
  • Number of attempts: 1
Count words - 80 entries

Merge duplicates and count each word.

  • Best score: 39
  • Best player score: 50
  • Position: #7 / 20
  • Number of attempts: 1
String decompression - 32 entries

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

  • Best score: 27
  • Best player score: 64
  • Position: #11 / 12
  • Number of attempts: 1
Reverse even lines - 33 entries

Reverse only the even lines without altering the odd lines.

  • Best score: 7
  • Best player score: 16
  • Position: #8 / 12
  • Number of attempts: 1
Format a long line - 99 entries

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

  • Best score: 17
  • Best player score: 24
  • Position: #15 / 31
  • Number of attempts: 1
Find anomalies - 161 entries

There is one special character per line

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

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

  • Best score: 43
  • Best player score: 51
  • Position: #10 / 16
  • Number of attempts: 1
Morse - 155 entries

Translate Morse code to Text

  • Best score: 31
  • Best player score: 69
  • Position: #20 / 35
  • Number of attempts: 1

Contributed Challenges

Change readonly files - 69 entries

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

Morse - 155 entries

Translate Morse code to Text

Coordinate extraction - 55 entries

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

String decompression - 32 entries

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

Find anomalies - 161 entries

There is one special character per line

Format a long line - 99 entries

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

Reverse even lines - 33 entries

Reverse only the even lines without altering the odd lines.

Count words - 80 entries

Merge duplicates and count each word.

Hex to binary - 106 entries

Convert hexadecimal numbers into binary format.

Define Gray code states - 41 entries

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

Case matching substitution - 56 entries

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

Deleting text - 295 entries

Delete everything except some specific numbers.

Copy punctuation - 599 entries

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

Rearrange array to single level - 1562 entries

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

Remove adjacent duplicates - 579 entries

Try to find a way to remove adjacent duplicate letters.

Word completion - 234 entries

Try to complete these options within 20 keystrokes.

Change to ascending order - 376 entries

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

Append leading hyphen count to each line - 84 entries

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

Reordering properties - 837 entries

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

Changing date formats - 480 entries

Change the date format to Y/M/D.

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

maharba6
Github:

entered into 21 challenges

contributed 21 challenges