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

3977 active golfers, 12992 entries

Leaderboard (lowest score wins):
18
#3001 - Lawrence Gray / @LawrenceGray23

10/19/2019 at 09:06AM

18
#3002 - Ralph Callaway / @RalphAtCCC

10/31/2019 at 05:53PM

18
#3003 - Emil Braserud / @Erdustiggen

11/10/2019 at 04:27PM

18
#3004 - Jonathan Yong / @yongrenjie

11/28/2019 at 05:38PM

18
#3005 - Jason Neylon / @jasonneylon

12/18/2019 at 06:45AM

18
#3006 - Wenbo / @nuxping1

12/28/2019 at 06:13PM

18
#3007 - Victor Chen / @VictorC89422342

01/10/2020 at 04:44PM

18
#3008 - Scott G. / @ScottG489

02/26/2020 at 06:07PM

18
#3009 - Mikael Brassman / @spoike

03/03/2020 at 04:51PM

18
#3010 - John Doe / @JohnDoe77150954

03/22/2020 at 06:06PM

18
#3011 - candywrappercrane / @cndwrpprpprcrn

06/12/2020 at 12:44PM

18
#3012 - Yavor Nenov / @YavorNe

06/21/2020 at 10:22PM

18
#3013 - ippachi / @ippachi1018

07/15/2020 at 06:14AM

18
#3014 - Mitch / @miffstarr

08/30/2020 at 06:54AM

18
#3015 - moh ayaya / @AyayaMoh

11/02/2020 at 05:54PM

18
#3016 - Leander Hendrikx / @leanderhendrikx

11/22/2020 at 10:44AM

18
#3017 - Faizan Ansari / @faizan_157

01/31/2021 at 02:37PM

18
#3018 - Yu Xie / @YuXie32232798

05/28/2021 at 03:56AM

19
#3019 - Jonathan Crossley / @_jcrossley

05/17/2013 at 04:33AM

19
#3020 - Christopher Gioia / @gioia_gioi

05/30/2013 at 08:11AM

19
#3021 - esiegel / @esiegel

07/06/2013 at 07:04PM

19
#3022 - Thomas Feiler / @SirTibsTibsford

09/06/2013 at 04:47AM

19
#3023 - Frettchen / @DayOfFrettchen

09/20/2013 at 05:54PM

19
#3024 - Anatolii Sakhnik / @sakhnik

09/30/2013 at 08:32PM

19
#3025 - Marek Kalnik / @marekkalnik

10/18/2013 at 03:54PM

19
#3026 - hekwall / @hekwall

10/22/2013 at 04:47PM

19
#3027 - Billy Ripper / @dirtlamb5

10/23/2013 at 05:46AM

19
#3028 - TJ Taylor / @dugancathal

11/05/2013 at 03:46AM

19
#3029 - Robert Danitz / @rdanitz

11/10/2013 at 12:57AM

19
#3030 - Lee Quarella / @leequarella

11/20/2013 at 10:24PM