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

Swap function parameters and delete all comments in python. - 923 entries

Swap function parameters and delete all comments in python.

  • Best score: 19
  • Best player score: 21
  • Position: #71 / 228
  • Number of attempts: 10
Delete the last function argument in python. - 611 entries

Delete the last function argument in this python script.

  • Best score: 6
  • Best player score: 7
  • Position: #133 / 221
  • Number of attempts: 5
Create json from a .env file - 1682 entries

A simple everyday task.

  • Best score: 38
  • Best player score: 118
  • Position: #376 / 411
  • Number of attempts: 1
YAML to dotenv - 1617 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 29
  • Position: #222 / 339
  • Number of attempts: 5
Swap columns and transform to CSV format - 487 entries

Turn this spreadsheet output into a CSV file but first swap the columns

  • Best score: 16
  • Best player score: 17
  • Position: #76 / 175
  • Number of attempts: 3
Fix the git merge conflicts - 348 entries

Solve the merge conflicts in the Python file

  • Best score: 36
  • Best player score: 75
  • Position: #87 / 104
  • Number of attempts: 3
Fix the Scala Method - 374 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: 31
  • Position: #100 / 123
  • Number of attempts: 2
Change class fields from camel case to snake case - 664 entries

This is the reverse of the previous challenge: https://www.vimgolf.com/challenges/9v006705493c000000000513

  • Best score: 18
  • Best player score: 77
  • Position: #143 / 153
  • Number of attempts: 2
Change class fields from snake case to camel case - 322 entries

Change the class fields in this Scala class from snake case to camel case

  • Best score: 13
  • Best player score: 15
  • Position: #89 / 121
  • Number of attempts: 1
Replace csv column if it's not empty - 310 entries

Replace the credit_score_percentile column with the value 0.0 but leave the empty ones untouched

  • Best score: 15
  • Best player score: 33
  • Position: #95 / 100
  • Number of attempts: 3
extract struct tag in go - 164 entries

Can you extract all struct tags in the fewest keystrokes possible?

  • Best score: 29
  • Best player score: 92
  • Position: #47 / 49
  • Number of attempts: 1
CaN yOuR ViM dO ThAt? #1 - 297 entries

Tsoding's famous "Can your Vim do that?" https://youtu.be/Bafo3hhheHU?si=DfcT4sUEMTSAevnx&t=1091

  • Best score: 41
  • Best player score: 46
  • Position: #68 / 118
  • Number of attempts: 3
Move list of uuids into a SQL query - 245 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: 67
  • Position: #43 / 82
  • Number of attempts: 3
Markdown Blog Editing - 485 entries

Convert the given link text in start file to a markdown link list.

  • Best score: 30
  • Best player score: 54
  • Position: #77 / 117
  • Number of attempts: 3
Fix timezone format - 372 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: #85 / 120
  • Number of attempts: 2
Search different SQL column with similar where clause - 363 entries

Replace a column in the where clause and convert all numbers from text to numeric, by replacing the leading 0 with the code 359.

  • Best score: 22
  • Best player score: 31
  • Position: #63 / 87
  • Number of attempts: 4
Move to corresponding lines - 334 entries

Move the values to the corresponding lines.

  • Best score: 16
  • Best player score: 20
  • Position: #29 / 76
  • Number of attempts: 1
Rearrange array to single level - 1829 entries

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

  • Best score: 14
  • Best player score: 44
  • Position: #266 / 307
  • Number of attempts: 5
Rearrange array to one line - 889 entries

Rearrange the array content on only one line, and remove trailing commas

  • Best score: 13
  • Best player score: 22
  • Position: #138 / 205
  • Number of attempts: 2
Copy punctuation - 739 entries

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

  • Best score: 19
  • Best player score: 38
  • Position: #97 / 181
  • Number of attempts: 4
Format a long line - 129 entries

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

  • Best score: 17
  • Best player score: 137
  • Position: #34 / 37
  • Number of attempts: 1
Find fix point of cos - 1485 entries

Write a function to find the fix point of cos. It is not a good code; It is just to use vim. Inspired by the excellent https://mvanier.livejournal.com/2897.html about the Y combinator.

  • Best score: 14
  • Best player score: 15
  • Position: #271 / 434
  • Number of attempts: 3
Insert column data on Confluence-style table - 503 entries

Add ip addresses into new "IP" column based on the last digits from the "Server" column

  • Best score: 33
  • Best player score: 58
  • Position: #73 / 114
  • Number of attempts: 1
HS exam question - 1613 entries

Convert the data to a python dictionary

  • Best score: 47
  • Best player score: 74
  • Position: #240 / 422
  • Number of attempts: 1
Contribute to keyboard mashing - 913 entries

Speak in tongues

  • Best score: 17
  • Best player score: 23
  • Position: #254 / 277
  • Number of attempts: 2
michaelgattas
Github:

entered into 25 challenges

contributed 0 challenges