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

simple replacements - 339 entries

The goal is to see the replacement commands in action.

  • Best score: 19
  • Best player score: 19
  • Number of attempts: 7
CSV to MD format - 131 entries

To convert a CSV list to Markdown list

  • Best score: 36
  • Best player score: 36
  • Number of attempts: 9
Python dataclasses - 175 entries

Simple challenge to extract fields from a Python class

  • Best score: 19
  • Best player score: 19
  • Number of attempts: 3
RUST Cargo.toml version to last - 140 entries

RUST Cargo.toml version to last. rusty practice on vimgolf

  • Best score: 16
  • Best player score: 16
  • Number of attempts: 4
RUST match with enum for Coin - 92 entries

RUST match with enum for Coin rusty practice on vimgolf

  • Best score: 85
  • Best player score: 105
  • Number of attempts: 2
Modernise code - 445 entries

Modernise and clean up some C++ code.

  • Best score: 34
  • Best player score: 34
  • Number of attempts: 15
Easy modification of ssh config - 130 entries

Just add another alias to each worker

  • Best score: 24
  • Best player score: 24
  • Number of attempts: 8
ssh config skills - 138 entries

Parse output from `kuebctl get no -o wide` into an .ssh/config file!

  • Best score: 41
  • Best player score: 60
  • Number of attempts: 1
Mr. Hacker - 26 entries

Elvin is hacker. He has piece of users database from some social net site. Recently he installed Vim, and he wants to convert CSV DB to specific format `key=value' where `key' is login and `value' is password, but password in DB is encrypted in ROT13. Help him.

  • Best score: 19
  • Best player score: 19
  • Number of attempts: 4
Python: Def to Lambda - 135 entries

LAMBDA!!!

  • Best score: 19
  • Best player score: 19
  • Number of attempts: 2
Turn the x - 126 entries

Turn the x to a +

  • Best score: 19
  • Best player score: 28
  • Number of attempts: 1
Add quotes to ansible playbook - 487 entries

You created an ansible playbook, but forgot to add quotes. Can you fix it?

  • Best score: 8
  • Best player score: 9
  • Number of attempts: 4
Multiline to Single Line - 295 entries

Convert a multiline, indented file to a single line with no whitespace

  • Best score: 5
  • Best player score: 5
  • Number of attempts: 1
Data reformat - 199 entries

Reformat this copy-paste data! #csv

  • Best score: 38
  • Best player score: 55
  • Number of attempts: 8
xrandr outputs and dashes - 499 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: 17
  • Number of attempts: 2
Capitalize the Names - 220 entries

I want to capitalize the names in quotes, but just the people's names, not the file names.

  • Best score: 3
  • Best player score: 21
  • Number of attempts: 9
Reconstruct the actual output from my unit test tool report - 116 entries

When a test fails, my unit test tool reports differences between the actual output and the expected output as follow: - line in the expected output but missing in the actual output are prefixed with a dash - unexpected lines in the actual output are prefixed with a plus sign - comments added by the unit test tool are prefixed with a question mark - common lines are showed `as-is` (well, almost;) From that "diff" format, I would like to reconstruct the actual output.

  • Best score: 16
  • Best player score: 16
  • Number of attempts: 5
Quote modules (ver.2) - 172 entries

Complete golang import statement.

  • Best score: 22
  • Best player score: 23
  • Number of attempts: 12
Separate the lines - 150 entries

Every other line is mixed up. Separate them into their original texts.

  • Best score: 11
  • Best player score: 11
  • Number of attempts: 7
citizen_hacks_2019_challenge2 - 156 entries

For the Citizen Hacks 2019 Vim competition.

  • Best score: 6
  • Best player score: 7
  • Number of attempts: 1
Refactor typescript arrow function type - 271 entries

Make arrow function type less verbose and easier to read

  • Best score: 20
  • Best player score: 20
  • Number of attempts: 7
Tables, Functions, Sprocs - 106 entries

In order to load some scripts into my database in the correct order I need to load tables first (t_), then functions (fn_), then stored procedures (sp_). The order of the t_ lines and the order of the sp_ lines should also match. Reorder the lines so they will load correctly.

  • Best score: 10
  • Best player score: 11
  • Number of attempts: 3
Triangular Numbers - 75 entries

Generate the first 50 triangular numbers.

  • Best score: 18
  • Best player score: 18
  • Number of attempts: 8
Convert Application Output to CSV - 164 entries

Change the application output to comma-separated values

  • Best score: 17
  • Best player score: 17
  • Number of attempts: 4
Preferably without multi-cursor plugin - 453 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: 30
  • Number of attempts: 8
Number Sort - 281 entries

sort the list of newline-separated numbers incrementally. Numbers are in the range 1 to 1000, with 500 missing

  • Best score: 9
  • Best player score: 10
  • Number of attempts: 2
Create a table - 285 entries

Convert the given input into a formatted table

  • Best score: 16
  • Best player score: 16
  • Number of attempts: 5
Add to end of each line... kinda - 285 entries

Visual-block mode can be used to add something to the end of each line, even if they are of differing lengths. However, what if it's not quite at the end?

  • Best score: 12
  • Best player score: 13
  • Number of attempts: 1
Paragraph sort - 394 entries

My large herbivorous mammals, Vim commands, and POSIX utilities need to be sorted separately.

  • Best score: 14
  • Best player score: 14
  • Number of attempts: 18
Triangle of arrows - 101 entries

I made this by accident when working on another challenge. How would you go about making this?

  • Best score: 14
  • Best player score: 14
  • Number of attempts: 11
Paragraph breaks - 476 entries

Swap the blank lines and the aaa lines.

  • Best score: 10
  • Best player score: 11
  • Number of attempts: 13
Generate a list of numbers - 269 entries

Please generate list of numbers from 1 to 20.

  • Best score: 14
  • Best player score: 14
  • Number of attempts: 4
citizen_hacks_2019_challenge5 - 106 entries

For the Citizen Hacks 2019 Vim competition.

  • Best score: 6
  • Best player score: 6
  • Number of attempts: 3
Join 'em - 211 entries

This shouldn't be too tough

  • Best score: 4
  • Best player score: 4
  • Number of attempts: 1
Song Transcription Oops - 218 entries

When transcribing vocal music to Canjo Tab you can start by finding the lowest note and assigning that to zero and working your way up from there. However, without fail, I tend to miscount the notes and when I am near done I find a lower note. I mark this with a "z". This means I have to increase all the previous ones by 1. just a sting of numbers :)

  • Best score: 15
  • Best player score: 15
  • Number of attempts: 6
change parenthesis - 235 entries

change the pair of braces into a pair of parentheses

  • Best score: 9
  • Best player score: 9
  • Number of attempts: 2
Remove quotes after first field - 311 entries

Remove the quotes around each field except for the first field.

  • Best score: 16
  • Best player score: 18
  • Number of attempts: 7
Add Go XML to structure tags - 143 entries

The Go programming language can directly map XML to structure fields. Add the correct XML tag after each field.

  • Best score: 23
  • Best player score: 24
  • Number of attempts: 9
move titles next to url, in quotes - 454 entries

had trouble with something similar

  • Best score: 19
  • Best player score: 19
  • Number of attempts: 6
Simple format (2) - 296 entries

try again!

  • Best score: 23
  • Best player score: 23
  • Number of attempts: 13
Line 'em up! - 345 entries

It can be so hard to keep everything neatly lined-up. Somebody clearly hasn't bothered here. Tidy it up, please!

  • Best score: 17
  • Best player score: 18
  • Number of attempts: 20
NATO phonetic alphabet - 438 entries

Transform the series of words into a list.

  • Best score: 19
  • Best player score: 20
  • Number of attempts: 7
Alphabet soup - 312 entries

Create a column of all alphabet characters organized in a funky way

  • Best score: 25
  • Best player score: 26
  • Number of attempts: 3
calculations - 244 entries

Complete these (weird) calculations.

  • Best score: 38
  • Best player score: 38
  • Number of attempts: 7
pikjes
Twitter:

entered into 44 challenges

contributed 0 challenges