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

3561 active golfers, 11449 entries

Leaderboard (lowest score wins):
18
#2581 - Gerald Tilma / @GeraldTilma

10/18/2015 at 01:41PM

18
#2582 - ハチポケッツ / @8pockets

11/05/2015 at 12:04AM

18
#2583 - SK Liew / @liewsk

11/05/2015 at 02:46AM

18
#2584 - Lukas Froehlich / @lukasfroehlich

11/12/2015 at 10:59PM

18
#2585 - Pure OG Kush / @mcnuggies420

12/01/2015 at 11:03PM

18
#2586 - Karel Vervaeke / @karel1980

12/10/2015 at 03:02PM

18
#2587 - Alexander Ryzhikov / @Coobaha

01/05/2016 at 08:43PM

18
#2588 - Antoine Brunet / @AntoineBrunet

01/11/2016 at 07:01PM

18
#2589 - TS / @tiredsounds

01/27/2016 at 04:35AM

18
#2590 - Etienne Tremel / @etiennetremel

02/06/2016 at 01:39PM

18
#2591 - Marc Coquand / @MarcCoquand

02/16/2016 at 03:53PM

18
#2592 - John Traji / @JTraji

02/16/2016 at 08:26PM

18
#2593 - Markus Bohl / @bohl_markus

02/23/2016 at 09:14PM

18
#2594 - Benjamin Miller / @Bmiller14Miller

02/25/2016 at 07:58PM

18
#2595 - Siim Põder / @siimphh

03/08/2016 at 12:23AM

18
#2596 - Nicholas Pufal / @npufal

03/25/2016 at 02:58AM

18
#2597 - Niru Maheswaranathan / @niru_m

04/04/2016 at 01:04AM

18
#2598 - Matteo Signer / @MatteoSigner

04/12/2016 at 08:09AM

18
#2599 - Christian Franke / @franke_chriss

04/21/2016 at 07:36PM

18
#2600 - Jon Barson / @jbarson

04/28/2016 at 03:44PM

18
#2601 - onedayrex / @onedayzns

04/29/2016 at 02:23AM

18
#2602 - Rob Ert / @robrunner888

05/09/2016 at 08:34PM

18
#2603 - Sasho / @sashho

06/05/2016 at 06:18PM

18
#2604 - Alex Wang / @a1exwang

07/15/2016 at 06:53AM

18
#2605 - Antoni Villalonga / @friki

08/15/2016 at 09:36AM

18
#2606 - Maxim Pertsov / @maxim_pertsov

08/21/2016 at 08:11AM

18
#2607 - Clalani / @clalania

10/14/2016 at 10:50AM

18
#2608 - Christian Rondeau / @c_rondeau

10/15/2016 at 05:39PM

18
#2609 - Philipp Mildenberger / @_phil_m

11/14/2016 at 01:39AM

18
#2610 - Никита Канунников / @NIikitaK

12/09/2016 at 08:56AM