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 3905 remaining solutions by signing in and submitting your own entry
#3906 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

3906 active golfers, 12690 entries

Leaderboard (lowest score wins):
20
#3181 - Jordan Alexander / @HappppyPerson

12/24/2014 at 06:36PM

20
#3182 - Simon Mölzer / @h0wser

01/19/2015 at 08:12AM

20
#3183 - Christian Prehl / @prehlDE

01/19/2015 at 12:40PM

20
#3184 - Steven Loria / @sloria1

02/14/2015 at 04:03PM

20
#3185 - Yannic Haupenthal / @yhaupenthal

03/01/2015 at 10:35AM

20
#3186 - Georgi Georgiev / @GeorgievGeorgeS

03/19/2015 at 05:06PM

20
#3187 - Philippe Voinov / @tehwalris

05/21/2015 at 09:30AM

20
#3188 - Ghoot Emaho / @GhootEmaho

05/31/2015 at 03:30PM

20
#3189 - Magnus Stavngaard / @bus3450

06/01/2015 at 05:55PM

20
#3190 - Collin Buchan / @CollinBuchan

06/26/2015 at 06:16AM

20
#3191 - Endre Galaczi / @galacziendre

08/03/2015 at 03:47PM

20
#3192 - Mart T / @xtimmu

08/31/2015 at 06:58PM

20
#3193 - Sebastian D. / @SebastianD__

10/05/2015 at 12:26PM

20
#3194 - Conor Ryan / @conorjryan

11/05/2015 at 08:41AM

20
#3195 - Tomás Pérez / @tomasperezv

11/08/2015 at 08:20PM

20
#3196 - Robert Perce / @robertperce

11/13/2015 at 04:27PM

20
#3197 - adrien frediani / @fredianiadrien

12/13/2015 at 08:55PM

20
#3198 - andrei / @CebotariAndrei

01/02/2016 at 09:48PM

20
#3199 - 戸田 薫 / @KaoruToda

01/10/2016 at 04:47AM

20
#3200 - Lucas McDaniel / @Ldmcdaniel109

01/21/2016 at 09:53PM

20
#3201 - Raymond Cox / @RaymondCox

02/13/2016 at 03:24PM

20
#3202 - Kayne West / @portal_narlish

02/25/2016 at 07:13AM

20
#3203 - Feras / @faldah

04/24/2016 at 03:44AM

20
#3204 - Mitch LeBlanc / @symmitchry

05/11/2016 at 12:04AM

20
#3205 - Alexandre Lion / @lnalx

06/06/2016 at 11:52AM

20
#3206 - Yi Yan / @_IanTay

07/05/2016 at 07:40PM

20
#3207 - chrisdrappier / @chrisdrappier

07/13/2016 at 09:19PM

20
#3208 - Allen Gooch / @mojochao

10/20/2016 at 10:31PM

20
#3209 - RAM13 / @cbcvbcxvbcxvb

10/27/2016 at 03:50PM

20
#3210 - Joseph Simone / @averagejoey2000

11/01/2016 at 05:23AM