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

3622 active golfers, 11684 entries

Leaderboard (lowest score wins):
20
#2941 - iamevn / @iamevn

07/08/2014 at 04:10PM

20
#2942 - Jaakko Hannikainen / @jgke_

07/17/2014 at 01:49PM

20
#2943 - Dominik Szerszeń / @DominikSze

07/22/2014 at 02:16PM

20
#2944 - Kai Howelmeyer / @kaihowl

08/10/2014 at 04:41PM

20
#2945 - Daniel Mita / @Mienaikage

09/02/2014 at 09:59AM

20
#2946 - Mattias Fransson / @azzidoos

09/08/2014 at 02:55PM

20
#2947 - Noah Ruderman / @noahc66260

09/27/2014 at 07:59AM

20
#2948 - Korn Acker / @ThKornacker

10/03/2014 at 03:59AM

20
#2949 - R / @7vies

10/21/2014 at 03:53AM

20
#2950 - F Prades Illanes / @fprades

10/22/2014 at 11:06AM

20
#2951 - Avia Aharon / @aviaron

10/31/2014 at 03:01PM

20
#2952 - Shane Logsdon / @shanelogsdon

11/07/2014 at 06:16AM

20
#2953 - Edmundo Perez / @ingedmundo

12/03/2014 at 03:25AM

20
#2954 - Jordan Alexander / @HappppyPerson

12/24/2014 at 06:36PM

20
#2955 - Simon Mölzer / @h0wser

01/19/2015 at 08:12AM

20
#2956 - Christian Prehl / @prehlDE

01/19/2015 at 12:40PM

20
#2957 - Steven Loria / @sloria1

02/14/2015 at 04:03PM

20
#2958 - Yannic Haupenthal / @yhaupenthal

03/01/2015 at 10:35AM

20
#2959 - Georgi Georgiev / @GeorgievGeorgeS

03/19/2015 at 05:06PM

20
#2960 - Philippe Voinov / @tehwalris

05/21/2015 at 09:30AM

20
#2961 - Ghoot Emaho / @GhootEmaho

05/31/2015 at 03:30PM

20
#2962 - Magnus Stavngaard / @bus3450

06/01/2015 at 05:55PM

20
#2963 - Collin Buchan / @CollinBuchan

06/26/2015 at 06:16AM

20
#2964 - Endre Galaczi / @galacziendre

08/03/2015 at 03:47PM

20
#2965 - Mart T / @xtimmu

08/31/2015 at 06:58PM

20
#2966 - Sebastian D. / @SebastianD__

10/05/2015 at 12:26PM

20
#2967 - Conor Ryan / @conorjryan

11/05/2015 at 08:41AM

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

11/08/2015 at 08:20PM

20
#2969 - Robert Perce / @robertperce

11/13/2015 at 04:27PM

20
#2970 - adrien frediani / @fredianiadrien

12/13/2015 at 08:55PM