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 5192f96ad8df110002000002

Words in parens

We should all ace this, right?

Start file
one two
three
End file
(one) (two)
(three)

View Diff

1,2c1,2
< one two
< three
---
> (one) (two)
> (three)

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 3559 remaining solutions by signing in and submitting your own entry
#3560 velina v veleva / @vveleva - Score: 155 - 04/23/15 @ 16:55
::%s/\(\a*\)/(&)/g<CR>ZZ<C-A><BS><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Left><Right><BS><CR><CR>%s/\(\w*\)/(\1)/g<CR>ZZ/<Esc><Esc>u<Esc>/<BS>:%s/\(\w*\)/(\1)/g<CR>ZZ<CR>:%s/\(\w*\)/(\1)/g<CR>ZZ<Left><Left><Right><Right><Right><BS><BS><BS><BS><BS><BS><CR><Esc>:w<CR><Esc>:wq<CR>

0 comments


Created by: @udioica

3560 active golfers, 11444 entries

Leaderboard (lowest score wins):
27
#3451 - Gluka / @Gluka__

12/31/2018 at 12:12PM

27
#3452 - alexandrasou / @alexandrasou2

05/27/2019 at 05:41AM

27
#3453 - Guillaume / @arteymix

06/07/2019 at 03:31PM

27
#3454 - Runze Xu / @xrz000

07/05/2019 at 08:04AM

27
#3455 - Noam Koren / @NOSlaver

07/20/2019 at 02:05PM

27
#3456 - Aaron / @aaronlichtman

11/25/2019 at 02:29PM

28
#3457 - Ilya Grigorik / @igrigorik

06/29/2013 at 03:16AM

28
#3458 - Max / @dzhopuas

08/22/2013 at 10:13AM

28
#3459 - Andrew Max / @anm898989

09/16/2013 at 07:34PM

28
#3460 - Andrew Landry / @Bits_and_Beeps

09/28/2013 at 02:39AM

28
#3461 - Alexander Gyoshev / @alex_gyoshev

10/26/2013 at 07:09AM

28
#3462 - Tom Oketch / @tc_oketch

11/07/2013 at 02:03PM

28
#3463 - Alexander Bandukwala / @abanduk

11/13/2013 at 12:03AM

28
#3464 - Saito, Jr. / @_fugaga_

12/10/2013 at 01:31PM

28
#3465 - Alexandr / @elshurito

02/03/2014 at 10:59AM

28
#3466 - Aseem Kumar / @asiampandey

05/17/2014 at 12:04AM

28
#3467 - Daniel / @dcmonger

07/18/2014 at 05:21AM

28
#3468 - Dane O'Connor / @thedeeno

01/02/2015 at 05:14AM

28
#3469 - TinPotRadio / @TinPotRadio1

09/24/2015 at 12:00PM

28
#3470 - Jonah Marts / @JonahMarts

06/22/2016 at 03:43AM

28
#3471 - Brandon Hops / @BrandonHops

09/29/2018 at 05:38PM

28
#3472 - Neil Johari / @neiljohari

12/24/2018 at 08:07PM

28
#3473 - Urquhart #SurrenderBill / @LostUrquhart

05/13/2019 at 11:47AM

29
#3474 - Michael Moussa / @michaelmoussa

10/24/2013 at 11:51PM

29
#3475 - Søren Mikkelsen / @aamikkelsen

11/19/2013 at 07:53AM

29
#3476 - Kevin Emmett / @kjemmett

12/20/2013 at 05:24PM

29
#3477 - Ellis / @AltF4ToWin

02/01/2014 at 02:20PM

29
#3478 - Kristopher Kahn / @flumm0xed

07/19/2014 at 02:37PM

29
#3479 - Akshay Aurora / @akshayaurora

09/16/2014 at 07:31AM

29
#3480 - Juampy NR / @juampynr

10/22/2014 at 08:25AM