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):
21
#3181 - PeterGC / @petkusGC

07/17/2016 at 08:03PM

21
#3182 - Ryan van Rensburg / @rdvr001

07/18/2016 at 04:32PM

21
#3183 - Marko / @ultrox

11/07/2016 at 11:35AM

21
#3184 - Yann Colina / @YannColina

11/13/2016 at 09:36PM

21
#3185 - Nico Jansen / @nicojansen1804

01/04/2017 at 05:56PM

21
#3186 - Milovan Zogovic / @zogash

04/13/2017 at 07:35AM

21
#3187 - Ryan Coopersmith / @RyanCoopersmit1

06/03/2017 at 04:45PM

21
#3188 - Dick Quixly / @DickQuixly

07/09/2017 at 02:14PM

21
#3189 - Andrei Gasparovici / @agasparovici

07/14/2017 at 08:52AM

21
#3190 - Gavin Faris / @gavin_faris

08/25/2017 at 08:31PM

21
#3191 - neallred / @neallred1

10/17/2017 at 12:11PM

21
#3192 - Romeo Valentin / @Seecez

10/24/2017 at 10:28AM

21
#3193 - phucvin / @phucvin

02/14/2018 at 04:07PM

21
#3194 - Diego Balseiro / @diegobalseiro

02/16/2018 at 07:37PM

21
#3195 - Jonathan Abramson / @zenpoy

03/15/2018 at 10:08PM

21
#3196 - Dongha Lee / @mathicalee

05/06/2018 at 07:29PM

21
#3197 - ¬¬¬ ¬¬¬ / @WLq3KGhxohrCPl1

07/09/2018 at 01:18AM

21
#3198 - Dylan Waits / @pianoman320

07/15/2018 at 12:20AM

21
#3199 - jestem króliczkiem / @karlicoss

07/21/2018 at 07:24AM

21
#3200 - Shea Munion / @sheamunion

07/27/2018 at 09:29PM

21
#3201 - ahutch / @therealahutch

07/31/2018 at 08:34PM

21
#3202 - Lunar Gods Cry Too / @lunarsobs

08/05/2018 at 04:11AM

21
#3203 - Netcraft Reporter / @NetcraftReport1

08/09/2018 at 09:42AM

21
#3204 - n/a / @sicoh395

09/06/2018 at 02:12PM

21
#3205 - Matt Burg / @matsbleurgh

09/12/2018 at 09:09PM

21
#3206 - Jordan / @RiotChomey

09/21/2018 at 09:15PM

21
#3207 - Juliette but spooky / @namebrandloser

10/26/2018 at 10:04PM

21
#3208 - Ackman Syntax Error / @AckmanSux

12/22/2018 at 01:04AM

21
#3209 - Prem Oza / @OzaPrem

01/03/2019 at 11:51AM

21
#3210 - Thomas Branch / @twighk

01/27/2019 at 01:47PM