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. - 356 entries

Swap function parameters and delete all comments in python.

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

Delete the last function argument in this python script.

  • Best score: 6
  • Best player score: 7
  • Position: #76 / 113
  • Number of attempts: 5
Create json from a .env file - 1607 entries

A simple everyday task.

  • Best score: 38
  • Best player score: 118
  • Position: #356 / 390
  • Number of attempts: 1
YAML to dotenv - 1557 entries

Convert this YAML config file to a .env file.

  • Best score: 16
  • Best player score: 29
  • Position: #214 / 322
  • Number of attempts: 5
Swap columns and transform to CSV format - 452 entries

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

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

Solve the merge conflicts in the Python file

  • Best score: 36
  • Best player score: 75
  • Position: #83 / 100
  • Number of attempts: 3
Fix the Scala Method - 341 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: #93 / 114
  • Number of attempts: 2
Change class fields from camel case to snake case - 630 entries

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

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

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

  • Best score: 13
  • Best player score: 15
  • Position: #88 / 118
  • Number of attempts: 1
Replace csv column if it's not empty - 276 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: #89 / 94
  • Number of attempts: 3
extract struct tag in go - 155 entries

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

  • Best score: 29
  • Best player score: 92
  • Position: #44 / 46
  • Number of attempts: 1
CaN yOuR ViM dO ThAt? #1 - 288 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: #67 / 112
  • Number of attempts: 3
Move list of uuids into a SQL query - 236 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 / 78
  • Number of attempts: 3
Markdown Blog Editing - 471 entries

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

  • Best score: 30
  • Best player score: 54
  • Position: #74 / 110
  • Number of attempts: 3
Fix timezone format - 337 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: #80 / 111
  • Number of attempts: 2
Search different SQL column with similar where clause - 345 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: #61 / 83
  • Number of attempts: 4
Move to corresponding lines - 322 entries

Move the values to the corresponding lines.

  • Best score: 16
  • Best player score: 20
  • Position: #29 / 74
  • Number of attempts: 1
Rearrange array to single level - 1802 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: #263 / 303
  • Number of attempts: 5
Rearrange array to one line - 855 entries

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

  • Best score: 13
  • Best player score: 22
  • Position: #134 / 201
  • Number of attempts: 2
Copy punctuation - 723 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: #93 / 176
  • Number of attempts: 4
Format a long line - 128 entries

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

  • Best score: 17
  • Best player score: 137
  • Position: #33 / 36
  • Number of attempts: 1
Find fix point of cos - 1483 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 / 433
  • Number of attempts: 3
Insert column data on Confluence-style table - 501 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: #72 / 113
  • Number of attempts: 1
HS exam question - 1611 entries

Convert the data to a python dictionary

  • Best score: 47
  • Best player score: 74
  • Position: #239 / 421
  • Number of attempts: 1
Contribute to keyboard mashing - 905 entries

Speak in tongues

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

entered into 25 challenges

contributed 0 challenges