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 59384eb3652ee111a0000001

From argument to object

This task typifies those programmers endure while coding. This C-family pseudocode needs a function argument to be repurposed as an object call. Simply search and replace? Repeat a pattern of edits?

Start file
organize(cupboard, 3, 2);
prioritize(bureau, 8, 7);
realize(bannister, 4, 4);
moralize(railing, 3,9);
End file
cupboard.organize(3, 2);
bureau.prioritize(8, 7);
bannister.realize(4, 4);
railing.moralize(3,9);

View Diff

1,4c1,4
< organize(cupboard, 3, 2);
< prioritize(bureau, 8, 7);
< realize(bannister, 4, 4);
< moralize(railing, 3,9);
---
> cupboard.organize(3, 2);
> bureau.prioritize(8, 7);
> bannister.realize(4, 4);
> railing.moralize(3,9);

Solutions

The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!

Check out these helpful resources to improve your Vim skills... Game on.

Unlock 369 remaining solutions by signing in and submitting your own entry
#370 William Dankspeare / @will_dankspeare - Score: 81 - 06/29/17 @ 17:31
c2w<Esc>ux2w<Esc>uwwdwxx0P<Esc>uuuu0d2w<Esc>uww10x0Pvhc.<Esc><Esc>jww8x0Pvhc.<Esc>jww11x0Pvhc.<Esc>j9x0Pvhc.<Esc>:wq<CR>

0 comments


Created by: @toddagibson

370 active golfers, 1132 entries

Leaderboard (lowest score wins):
17
#121 - Viktor Styrud / @ViktorStyrud

10/08/2019 at 07:19AM

17
#122 - Mario Olofo / @mario_olofo

10/23/2019 at 12:58AM

17
#123 - vimgolfer / @vimgolfer7

11/03/2019 at 11:14PM

18
#124 - Kai Yuan / @kentyuan

06/07/2017 at 07:54PM

18
#125 - Cristian / @cris_perez_b

06/07/2017 at 09:37PM

18
#126 - James / @Dronak

06/07/2017 at 10:26PM

18
#127 - Tony Pajamas / @trash_pajamas

06/08/2017 at 04:51AM

18
#128 - klaxalk / @klaxalk

06/08/2017 at 07:25AM

18
#129 - Jan Bundesmann / @janbundesmann

06/08/2017 at 08:55AM

18
#130 - Victor Ramirez / @virako

06/08/2017 at 08:56AM

18
#131 - Daniel Hjelm / @dhjelm

06/08/2017 at 05:36PM

18
#132 - Brian Hall / @_bruab_

06/09/2017 at 02:54PM

18
#133 - Nimrod / @n1mr0d

06/10/2017 at 02:39PM

18
#134 - Daren Hayward / @DarenHayward

06/11/2017 at 09:16AM

18
#135 - James Bernsen / @jamesbernsen

06/11/2017 at 03:52PM

18
#136 - Lifepillar / @lifepillar

06/11/2017 at 08:23PM

18
#137 - やま / @K6rzv7URxtE6CFy

06/12/2017 at 11:29AM

18
#138 - kkh / @kkhdlut

06/14/2017 at 02:56PM

18
#139 - Emmanuel Herrero / @hairarrow

06/14/2017 at 07:00PM

18
#140 - John Smith / @john828495

06/16/2017 at 12:59PM

18
#141 - John Smith / @johns32768

06/16/2017 at 06:43PM

18
#142 - squdle / @squdle

06/16/2017 at 06:57PM

18
#143 - Tom Sisk / @TomSisk

06/17/2017 at 03:48AM

18
#144 - Benoit Bou / @3enoit3

06/17/2017 at 10:02AM

18
#145 - moritz / @moritz45081535

06/18/2017 at 12:58PM

18
#146 - Jonathan Eidsness / @jonathaneidsnes

06/21/2017 at 03:55AM

18
#147 - vimgolfer864 / @vimgolfer864

06/21/2017 at 04:33PM

18
#148 - Julian Felix / @h4wked

06/22/2017 at 01:06PM

18
#149 - Ryan McNamara / @MadDogMcNamara

06/23/2017 at 04:15AM

18
#150 - Pfhor / @PfhorShark

06/24/2017 at 08:18PM