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

3595 active golfers, 11577 entries

Leaderboard (lowest score wins):
20
#3001 - Di Peng / @DCodier

10/31/2018 at 05:17AM

20
#3002 - Luis Rodriguez / @luisthecoder

11/12/2018 at 01:01AM

20
#3003 - steve N ӾlvЮ / @xlvio

11/18/2018 at 04:20PM

20
#3004 - LucaSimplon / @LucaSimplon

11/18/2018 at 08:13PM

20
#3005 - Bennett / @bennettbackward

12/18/2018 at 02:32PM

20
#3006 - wrglprmft / @wrglprmft

01/19/2019 at 09:12PM

20
#3007 - Ronnie Kon / @KonRonnie

01/21/2019 at 01:55AM

20
#3008 - Charles Brossollet / @Tcharlss

03/02/2019 at 05:36PM

20
#3009 - royaso / @royaso

04/13/2019 at 04:30AM

20
#3010 - john ford / @johnfor65634499

05/23/2019 at 06:13PM

20
#3011 - Paul Schaefer / @schaeferpp

05/24/2019 at 02:55PM

20
#3012 - soundscope / @__soundscope__

07/20/2019 at 01:51PM

20
#3013 - Michael Parrott / @MikeParrott94

10/06/2019 at 01:41PM

20
#3014 - Blu1Je7Vo1HyeMa1 / @Je7Hye

11/14/2019 at 02:30PM

20
#3015 - 990 / @nisibasi990

12/06/2019 at 02:35PM

20
#3016 - beew71493 / @beew71493

01/21/2020 at 02:43AM

21
#3017 - christoph hermann / @schtoeffel

05/20/2013 at 07:57AM

21
#3018 - Vedran Zakanj / @vzakanj

05/22/2013 at 06:50PM

21
#3019 - Aaron Bieber / @aaronbieber

06/02/2013 at 01:49PM

21
#3020 - Ker / @alin_ker

06/12/2013 at 02:44PM

21
#3021 - Kohei Yamamoto / @k_ymmt

06/22/2013 at 02:47PM

21
#3022 - roey / @roeychen

06/28/2013 at 04:46PM

21
#3023 - Chris Svenningsen / @hmmwhatsthis

07/11/2013 at 06:12PM

21
#3024 - SayreBlades / @SayreBlades

07/17/2013 at 02:28PM

21
#3025 - Ian Oxley / @ianoxley

07/19/2013 at 01:36PM

21
#3026 - Laurent Brulet / @lbrulet

08/04/2013 at 12:49PM

21
#3027 - matthew / @mdespuits

08/09/2013 at 02:48PM

21
#3028 - leinlein / @nieldomingo

08/17/2013 at 10:08AM

21
#3029 - Giorgos Giannoutsos / @nuc

08/21/2013 at 09:18PM

21
#3030 - Vambo Põldra / @vambop

08/23/2013 at 04:37AM