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):
20
#3331 - serici / @serici

07/05/2020 at 10:03AM

20
#3332 - L Z / @unidevel

07/07/2020 at 10:07AM

20
#3333 - Moye_ / @moye_

07/19/2020 at 08:51PM

20
#3334 - drGsus / @drGsus

07/25/2020 at 07:11AM

20
#3335 - Zach Kirby / @zkirby2020

08/15/2020 at 08:26PM

20
#3336 - Nathan Hollows / @nathanhollows

08/21/2020 at 04:11AM

20
#3337 - alrito / @alrito6

09/13/2020 at 07:52PM

20
#3338 - Ben Wainwright / @benwainwrightuk

09/26/2020 at 02:53PM

20
#3339 - Guilherme Lima / @guilima10

10/10/2020 at 01:24PM

20
#3340 - Manas / @weirdsmiley_

11/29/2020 at 01:11AM

20
#3341 - fff / @fff51460170

01/13/2021 at 02:59AM

21
#3342 - christoph hermann / @schtoeffel

05/20/2013 at 07:57AM

21
#3343 - Vedran Zakanj / @vzakanj

05/22/2013 at 06:50PM

21
#3344 - Aaron Bieber / @aaronbieber

06/02/2013 at 01:49PM

21
#3345 - Ker / @alin_ker

06/12/2013 at 02:44PM

21
#3346 - Kohei Yamamoto / @k_ymmt

06/22/2013 at 02:47PM

21
#3347 - roey / @roeychen

06/28/2013 at 04:46PM

21
#3348 - Chris Svenningsen / @hmmwhatsthis

07/11/2013 at 06:12PM

21
#3349 - SayreBlades / @SayreBlades

07/17/2013 at 02:28PM

21
#3350 - Ian Oxley / @ianoxley

07/19/2013 at 01:36PM

21
#3351 - Laurent Brulet / @lbrulet

08/04/2013 at 12:49PM

21
#3352 - matthew / @mdespuits

08/09/2013 at 02:48PM

21
#3353 - leinlein / @nieldomingo

08/17/2013 at 10:08AM

21
#3354 - Giorgos Giannoutsos / @nuc

08/21/2013 at 09:18PM

21
#3355 - Vambo Põldra / @vambop

08/23/2013 at 04:37AM

21
#3356 - Jose Javier Trapero / @jjaviertb

08/29/2013 at 07:05PM

21
#3357 - The pilgrim / @panpielgrzym

09/10/2013 at 08:33PM

21
#3358 - Felix Angerborn / @FelixAngerborn

09/20/2013 at 11:10PM

21
#3359 - James T. Huggett / @Jmeshka

09/26/2013 at 09:24AM

21
#3360 - venkatakrishnan / @venkatk_

10/03/2013 at 09:02PM